In which way should I use DataMemeber attribute ?
I.
[DataMember]
internal protected string _FirstName="";
[DataMember]
public string FirstName { get { return _FirstName; }
internal protected set { _FirstName=(value!=null?value:""); } }
II.
internal protected string _FirstName="";
[DataMember]
public string FirstName { get { return _FirstName; }
internal protected set { _FirstName=(value!=null?value:""); } }
III.
[DataMember]
internal protected string _FirstName="";
public string FirstName { get { return _FirstName; }
internal protected set { _FirstName=(value!=null?value:""); } }
1st is definitely not correct, as serialization will happen twice.
Between 2nd and 3rd I personally prefer 2nd, as encapsulating implementation.