1 c# properties
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; }
}
}
Run Code Online (Sandbox Code Playgroud)
一般情况下,除非有特殊原因,否则最好尽可能通过属性getter和setter.如果属性设置器具有您在特定情况下不想要的副作用(如触发通知),则可以直接从对象内分配到支持字段,但尽量避免陷入这种情况.
使用属性getter和setter的好处是什么,即使在实现类本身:当/如果你需要在将来更改getter/setter的实现时,例如添加所需的副作用,你的代码已经在一个很好的位置,以兑现新的getter/setter语义.