tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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を実装してその辺の挙動を調整することもできます。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。