情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

DataMemberAttribute クラス

2013/12/12

型のメンバーに適用された場合、メンバーがデータ コントラクトの一部となり、DataContractSerializer によってシリアル化されるよう指定します。

System.Object
  System.Attribute
    System.Runtime.Serialization.DataMemberAttribute

Namespace:  System.Runtime.Serialization
アセンブリ:  System.Runtime.Serialization (System.Runtime.Serialization.dll 内)

[AttributeUsageAttribute(AttributeTargets.Field|AttributeTargets.Property, Inherited = false, 
	AllowMultiple = false)]
public sealed class DataMemberAttribute : Attribute

DataMemberAttribute 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドDataMemberAttributeDataMemberAttribute クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティEmitDefaultValueシリアル化されているフィールドまたはプロパティの既定値をシリアル化するかどうかを指定する値を取得または設定します。
パブリック プロパティIsRequiredシリアル化エンジンに逆シリアル化される場合、メンバーがシリアル化されたデータにある必要があるかどうかを指示する値を取得または設定します。
パブリック プロパティNameデータ メンバーの名前を取得または設定します。
パブリック プロパティOrderメンバーのシリアル化および逆シリアル化の順序を取得または設定します。
このページのトップへ

  名前説明
パブリック メソッドEqualsインフラストラクチャ。 対象のインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。 (Attribute から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (Attribute から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドMatch派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

データ コントラクトの一部である型のメンバーを識別するには、DataMemberAttribute 属性を DataContractAttribute と一緒に適用します。データ コントラクトをシリアル化できるシリアライザーの 1 つは、DataContractSerializer です。

Windows Phone のデータ コントラクト モデルは、オプトアウト モデル です。これは、メンバーの値がシリアル化されないようにフィールドまたはプロパティに IgnoreDataMemberAttribute が明示的に適用されている場合を除き、メンバーが既定でシリアル化されることを意味します。

既定では、データ メンバーの名前として CLR メンバーの名前が使用されます。Name プロパティを設定することにより、データ メンバーの名前をカスタマイズできます。これにより、CLR メンバー名としては許可されない名前を提供できます。DataContractSerializer を使用して XML をマッピングする場合、この名前が型のスキーマ要素の名前として使用されます。


	    // Define the data contract.
    	[DataContract(Name = "Customer" , Namespace = "http://www.contoso.com" ) ]
    	public class User
    	{
        	[DataMember(Name = "Last" , EmitDefaultValue = true , IsRequired = true , Order = 2 )]
       		public string Name { get; set; }

        	[DataMember(Order = 1)]
        	public int Age { get; set; }

        	public User() { }

        	public User(string newName, int newAge)
        	{
            		Name = newName;
            		Age = newAge;
        	}
    	}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示: