cuclife.com > IT > C# > 0

c#自动属性的理解

网络整理 - 06-27

理解自动属性

我们将探索的第一个新语言特性叫做自动属性(Automatic Properties)。不幸的是,只有C#支持该特性,VB.NET并不支持。

自动属性提供了定义新属性的快速方法。如代码清单18-1所示,类Product包含了Id、Description和Price属性。

代码清单 18-1 LanguageChanges\App_Code\AutomaticProperties.cs

public class AutomaticProperties { Id { get; set; } public string Description { get; set; } _Price; public decimal Price { get { return _Price; } set { _Price = value; } } }

注意前两个属性Id和Description,没有使用Getter和Setter,这与最后一个属性Price不同。C#编译器将为你自动创建Getter和Setter,以及与属性对应的私有字段。

你不能向自动属性中的Getter和Setter添加任何逻辑,也不能创建只读的自动属性。

自 动属性怎么会和LINQ to SQL有关呢?在使用LINQ to SQL时,你为了得到数据的结构(类似SQL查询时使用select语句得到的列表),经常将类设计为仅包含数据库表的各个字段。因此,你肯定希望使用最 小的工作量来创建属性列表,自动属性就是为此量身定做的。

注意:使用Visual Web Developer或Visual Studio可以向类或页面中快速添加自动属性,你只需输入“prop”并按Tab键两次。

c#自动属性的理解