XmlArrayAttribute.IsNullable プロパティ
XmlSerializer が、 true に設定されている xsi:nil 属性を持つ空の XML タグとして、メンバをシリアル化するかどうかを示す値を取得または設定します。
Public Property IsNullable As Boolean
[C#]
public bool IsNullable {get; set;}
[C++]
public: __property bool get_IsNullable();public: __property void set_IsNullable(bool);
[JScript]
public function get IsNullable() : Boolean;public function set IsNullable(Boolean);
プロパティ値
XmlSerializer が xsi:nil 属性を生成する場合は true 。それ以外の場合は false 。
解説
XML スキーマで構造を指定することにより、XML ドキュメントで、要素の内容が欠落していることを明示的に知らせることができます。このような要素には、 true に設定された属性 xsi:nil が含まれます。詳細については、W3C (World Wide Web Consortium) のサイト (www.w3.org) で『XML Schema Part 1: Structures』という仕様を参照してください。
IsNullable プロパティが true に設定されている場合は、 null 参照 (Visual Basic では Nothing) に設定されているクラス メンバに対して xsi:nil 属性が生成されます。たとえば、 MyStringArray という名前のフィールドを null 参照 (Nothing) に設定すると、 XmlSerializer は次の XML コードを生成します。
<MyStringArray xsi:nil = "true" />
IsNullable プロパティが false に設定されている場合は、XML 要素が生成されません。
メモ 値型には null 参照 (Nothing) を指定できないため、 IsNullable プロパティは、値型として指定されたメンバには適用できません。
使用例
[Visual Basic, C#, C++] 2 つの配列が含まれている例を次に示します。1 つの配列は IsNullable プロパティが true に設定されており、もう 1 つの配列は IsNullable プロパティが false に設定されています。
Public Class MyClass1
<XmlArray(IsNullable := True)> _
Public IsNullableIsTrueArray() As String
<XmlArray(IsNullable := False)> _
Public IsNullableIsFalseArray() As String
End Class
[C#]
public class MyClass
{
[XmlArray (IsNullable = true)]
public string [] IsNullableIsTrueArray;
[XmlArray (IsNullable = false)]
public string [] IsNullableIsFalseArray;
}
[C++]
public __gc class MyClass
{
public:
[XmlArray (IsNullable = true)]
String* IsNullableIsTrueArray[];
[XmlArray (IsNullable = false)]
String* IsNullableIsFalseArray[];
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
XmlArrayAttribute クラス | XmlArrayAttribute メンバ | System.Xml.Serialization 名前空間