自动实现的属性(C# 编程指南)

更新:2007 年 11 月

当属性访问器中不需要其他逻辑时,自动实现的属性可使属性声明变得更加简洁。当您如下面的示例所示声明属性时,编译器将创建一个私有的匿名后备字段,该字段只能通过属性的 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),但由于属性 (Attribute) 不可从源代码访问,显然不能用在支持字段上。如果您必须在属性 (Property) 的后备字段上使用属性 (Attribute),则应该只创建常规属性 (Property)。

请参见

参考

属性(C# 编程指南)

修饰符(C# 参考)