interface IAnimal
{
string Name { get; set; }
}
class Dog : IAnimal
{
private string name;
public Dog(string name)
{
Name = name;
}
public string Name
{
get { return name; }
set { name = value; }
}
}
答案 0 :(得分:8)
一般情况下,除非有特殊原因,否则最好尽可能通过属性getter和setter。如果属性设置器具有您在特定情况下不想要的副作用(如触发通知),则可以直接从对象内部分配到支持字段,但尽量避免陷入这种情况。
使用属性getter和setter的好处,即使在实现类本身中:当/如果你需要在将来更改getter / setter的实现时,例如添加所需的副作用,你的代码将会已经处于有利位置以兑现新的getter / setter语义。