タイトル : Re: Deserialize で未設定値とそれ以外を区別する方法 投稿日 : 2015/11/26(Thu) 09:00 投稿者 : Hongliang
XmlSerializerの話と言うことで良いですかね? このままでは、XML上に限らず、プログラム上でも未定義なのかどうか識別できないと思うのですが。 旧来良くある手法としては、決して使用しない値(-1だとか&H7FFFFFFFだとか)を未定義値として扱うという手があります。 .NET 2.0以降追加されたNullableを使えば、数値とnull(Nothing)を扱うことが可能になります。この場合、XmlSeralizerは既定では属性xsi:nil="true"を持った空要素として表現します。 XML上に-1やらxsi:nil="true"やらが出現するのが困るのであれば、IXmlSerializableを実装してその辺の挙動を調整することもできます。 |