注意:这篇文章是我刚开始学习C#时发的。以我2014年的知识,我可以真诚地说auto-properties是C#语言中最好的东西之一。
我习惯使用一个私有和一个公共字段来创建我的C#属性:
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
现在,使用.NET 3.0,我们可以使用自动属性:
public string Title { get; set; }
除了为每个字段节省五行代码,是否有任何理由使用这些自动属性?我的个人不满是这些属性将一些东西隐藏起来了,而且我不是黑魔法的忠实粉丝。
实际上,即使在调试器中,隐藏的私有字段也不会显示出来,这没关系,因为get/set函数什么都不做。但是当我想要实际实现一些getter/setter逻辑时,我仍然必须使用私有/公有对。
我看到的好处是,我可以节省大量代码(1行对6行),而不失去以后更改getter/setter逻辑的能力,但是我已经可以通过仅声明一个公共字段“Public string Title”而无需{ get; set; }块来实现这一点,从而节省更多代码。
那么,我错过了什么?为什么有人实际上想要使用自动属性呢?