陈斌彬的技术博客

Stay foolish,stay hungry

自动属性

这个概念很简单,其简化了我们在.NET 的时候手写一堆私有成员+属性的编程方式,我们只需要使用如下 方式声明一个属性,编译器会自动生成所需的成员变量。

public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
}

在我使用LINQ 完成的项目中,使我了解到自动属性方便的一个用途如下:

在使用LINQ 获取数据的过程中,我们常常需要使用select new语句查询出一个对象(往往是IEnumerable 类型的)用于数据绑定。在一般情况下如果是直接绑定(如直接将查询结果赋给一个Gridview 控件的DataSource 属性)我们可以直接select new来返回一个匿名类的对象。如果我们还需要对这个集合对象进行进一步操作,我们将必须使用select new classname这样的语言返回一个类的对象,大部分情况下这个类只作为实体的一个结构而不需要完成一些操作操作,这时候使用自动属性来完成这个类将是非常简洁高效的。