Атрибут DataMember установлен в поле или свойство? - PullRequest
6 голосов
/ 25 августа 2011

Каким образом мне следует использовать атрибут 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 голосов
/ 25 августа 2011

1-е определенно не правильно, так как сериализация будет происходить дважды. Между 2-м и 3-м я лично предпочитаю 2-й, как инкапсулирующую реализацию.

4 голосов
/ 25 августа 2011

Второй. Это выставляет только свойство в качестве члена данных. Это то, что ты хочешь. Вы не хотите обнажать поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...