注意:这是我刚开始使用C#时发布的。凭借2014年的知识,我可以真正地说出,自动属性是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逻辑时,无论如何我都必须使用私有/公共对。
我看到的好处是,我节省了很多代码(一行vs六行),而不会在以后失去更改getter / setter逻辑的能力,但是话又说回来,我已经可以通过简单地声明一个公共字段“ Public string Title”来做到这一点。 {获取;组; }块,从而节省更多代码。
那么,我在这里想念什么?为什么有人实际上要使用自动属性?