1

私は列挙型とそのタイプのメンバーを持っています

 [Flags]
 public enum SearchFilter
 {
    types = 0x01,
    attributes = 0x02,
    methods = 0x04
 }
 [System.Xml.Serialization.XmlAttribute("search-filter")]
 public SearchFilter search_filter = SearchFilter.types | SearchFilter.attributes | SearchFilter.methods;

このクラスをシリアル化すると、結果属性は次のようになります。

<filter search_filter="types attributes methods" />

ただし、属性が必要です:

<filter search_filter="types|attributes|methods" />

クラスのシリアル化時に区切り文字を変更するにはどうすればよいですか?

4

1 に答える 1

2

次に、それを完全に制御する必要があります。たとえば、そのメンバーを次のようにマークし、次のようなパブリックプロパティ[XmlIgnore]を追加します。string

[XmlAttribute("search-filter")]
public string SearchShim {
    get { /* translate */ }
    set { /* translate */ }
}
于 2010-04-15T15:49:24.393 に答える