DataMember属性是设置在字段还是属性上?

6
在什么情况下应该使用DataMemeber属性?
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:""); } }
2个回答

7

第一种方法肯定是不正确的,因为会发生两次序列化。在第二种和第三种方法之间,我个人更喜欢第二种方法,因为它将实现封装起来。


4
第二种方法仅将属性暴露为数据成员。这正是您想要的。您不希望该字段被暴露。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接