C#3.0新特性(五)
自动实现的属性
当属性访问器中不需要其他逻辑时,自动实现的属性可使属性声明变得更加简洁。当您如下面的示例所示声明属性时,编译器将创建一个私有的匿名后备字段,该字段只能通过属性的 get 和 set 访问器进行访问。
示例
下面的示例演示了一个具有某些自动实现的属性的简单类:
class LightweightCustomer
{
public double TotalPurchases { get; set; }
public string Name { get; private set; } // read-only
public int CustomerID { get; private set; } // read-only
}
自动实现的属性必须同时声明 get 和 set 访问器。若要创建 readonly 自动实现属性,请给予它 private set 访问器。
自动实现的属性 (Property) 不允许具有属性 (Attribute)。如果您必须在属性 (Property) 的后备字段上使用属性 (Attribute),则应该只创建常规属性 (Property)。