属性としてXMLにシリアル化できるようにしたい多数のNullable<T>プロパティを持つクラスがあります。これらは「複雑なタイプ」と見なされるため、これは明らかにノーノーです。したがって、代わりに* Specifiedパターンを実装し、次のように追加の*Valueおよび*Specifiedプロパティを作成します。
[XmlIgnore]
public int?年
{{
get {return this.age; }
set {this.age = value; }
}
[XmlAttribute( "Age")]
public int AgeValue
{{
get {return this.age.Value; }
set {this.age = value; }
}
[XmlIgnore]
public bool AgeValueSpecified
{{
get {return this.age.HasValue; }
}
これは正常に機能します-'Age'プロパティに値がある場合、それは属性としてシリアル化されます。値がない場合は、シリアル化されません。
問題は、私が述べたように、私のクラスには多くのNullable-があり、このパターンは物事を厄介で管理不能にしているだけです。
NullableをよりXmlSerializerに適したものにする方法があることを願っています。または、それが失敗した場合は、Nullable置換を作成する方法です。
誰かが私がこれを行う方法について何かアイデアがありますか?
ありがとう。