//Example Address class using c# properties
class Address
{
protected string city;
protected string zipCode;
public string ZipCode
{
get { return zipCode; }
set
{ //Validate value against some data store.
zipCode=value;
// Update city based on validated zipCode.
}
}
}
如你所见,客户对字段的访问非常直观:不必猜测或者查看文档(或者源代码),就能够判断是否可以访问字段,(如果不能访问字段)也不必判断访问器的名称.
另外,使用特性还提供了访问器不具备的另个优点.假设你使用前述的访问器的标准方法.当你设计一个类时,需要决定哪些字段有访问方法,哪些字段允许直接成员(公共)访问.在编写完使用这个类的客户代码之后,如果你决定用访问器替换公共字段,那么就需要修改访问此成员的所有客户代码.