0

我通过提供相应的公共属性将一些公共字段更改为私有。

例如:

public string Name;

是更改为

private string _name;
public string Name
{
    get{ return _name;}
    set{ _name = value;}
}

但是,原始公共字段上的 [XmlAttribute] 属性呢?即确实

[XmlAttribute]
public string Name;

变成:

[XmlAttribute]
private string _name;
public string Name
{
    get{ return _name;}
    set{ _name = value;}
}

或者

private string _name;
[XmlAttribute]
public string Name
{
    get{ return _name;}
    set{ _name = value;}
}
4

2 回答 2

6

第二个解决方案。

顺便说一句,如果您在 getter 或 setter 中没有做任何特别的事情,您不再需要(.net 3.0 和 +)私有字段。

您可以使用自动实现的属性

[XmlAttribute]
public string Name {get;set;}
于 2012-11-01T15:37:52.223 回答
1

而不是做

private string _name;
public string Name
{
get{ return _name;}
set{ _name = value;}
}

为什么不做

public string Name { get; set; }

我认为这是在 C# 3.0 中引入的

于 2012-11-01T15:40:03.270 回答