2
我正在開發一個項目,我需要使用datacontract序列化序列化一系列枚舉。 預期的結果應該像下面控制集合序列化
<Filters>
<MemberType>1</MemberType>
<MemberType>2</MemberType>
<MemberType>3</MemberType>
</Filters>
下面是被序列化類:
[DataContract(Name = "Filters")]
public class Filters
{
private ObservableCollection<Nullable<MemberTypeEnum>> m_enmMemberType;
[DataMember(IsRequired = false, Name = "MemberType", Order = 1, EmitDefaultValue = false)]
public ObservableCollection<Nullable<MemberTypeEnum>> MemberType
{
get
{
return m_enmMemberType;
}
set
{
if (m_enmMemberType != value)
{
m_enmMemberType = value;
NotifyPropertyChanged("MemberType");
}
}
}
}
[DataContract(Name = "MemberTypeEnum")]
public enum MemberTypeEnum
{
[EnumMember(Value="1")]
[XmlEnum(Name="1")]
T_1 = 1,
[EnumMember(Value="2")]
[XmlEnum(Name="2")]
T_2 = 2,
[EnumMember(Value="3")]
[XmlEnum(Name="3")]
T_3 = 3,
}
我的問題是,結果我得到的是稍有不同:
<Filters>
<MemberType>
<MemberTypeEnum>1</MemberTypeEnum>
<MemberTypeEnum>2</MemberTypeEnum>
<MemberTypeEnum>3</MemberTypeEnum>
</MemberType>
</Filters>
有沒有辦法修改序列化(或我做錯了什麼),以便我可以得到預期的結果?