2012-12-30 15 views

Odpowiedz

8

Główną zaletą korzystania z DataContract jest to, że można uniknąć powtarzania atrybutów dla niektórych typowych wskazówek do serializacji dla XmlMediaTypeFormatter i JsonMediaTypeFormatter. To znaczy. możesz optować/rezygnować z określonych właściwości modelu, który ma zostać przekształcony do postaci szeregowej lub zmienić nazwę właściwości i oba formatery to respektują.

Na przykład:

[DataContract] 
public class Sample { 

    [DataMember] 
    public string PropOne {get;set;} 

    public string PropTwo {get;set;} 

    [DataMember(Name="NewName")] 
    public string PropThree {get; set;} 
} 

odpowiada:

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;} 
}