WCFのDataContract
属性について非常に混乱しています。私の知る限りでは、クラスのようなユーザ定義型を直列化するために使用されます。私はこのようにクライアント側で公開されている1つのクラスを書きました。DataContract属性とDataMember属性はいつ使用しますか?
[DataContract]
public class Contact
{
[DataMember]
public int Roll { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Address { get; set; }
[DataMember]
public int Age { get; set; }
}
それは正常に動作しているが、私はDataContract
とDataMember
を削除するとき、それはまた、正常に動作します。なぜそれが適切に働いているのか理解できません。いずれかがDataContract
の実際の使用は何ですか?
マイサービス契約は、.NET 3.5 SP1で、Microsoftはデータコントラクトシリアライザは、すべてのクラスを扱う作られた、プログラマーの多くは[DataContract]
と[DataMember]
属性に圧倒されたので、この
[ServiceContract]
public interface IRestServiceImpl
{
[OperationContract]
Contact XmlData(string id);
}
ここでは完璧な答えはhttp://stackoverflow.com/questions/5681842/datacontracts-and-datamembers –