Il vantaggio principale dell'utilizzo di DataContract
consiste nel fatto che è possibile evitare gli attributi duplicati per alcuni suggerimenti di serializzazione comuni per XmlMediaTypeFormatter
e JsonMediaTypeFormatter
. Cioè è possibile attivare/disattivare proprietà specifiche di un modello da serializzare o rinominare una proprietà e avere entrambi i formattatori che lo rispettano.
Ad esempio:
[DataContract]
public class Sample {
[DataMember]
public string PropOne {get;set;}
public string PropTwo {get;set;}
[DataMember(Name="NewName")]
public string PropThree {get; set;}
}
è equivalente a:
public class Sample {
public string PropOne {get;set;}
[XmlIgnore]
[JsonIgnore]
public string PropTwo {get;set;}
[JsonProperty(PropertyName = "NewName")]
[XmlElement("NewName")]
public string PropThree {get; set;}
}
fonte
2012-12-30 11:50:04