我应该以哪种方式使用DataMember属性?
我
[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:""); } }
答案 0 :(得分:7)
1st绝对不正确,因为序列化将发生两次。 在第二和第三之间我个人更喜欢第二,作为封装实现。
答案 1 :(得分:4)
第二个。这仅将属性公开为数据成员。那正是你想要的。你不希望暴露这个领域。