注意: 这是在我开始使用 C # 时发布的。有了2014年的知识,我可以确切地说,自动属性是 C # 语言中发生过的最好的事情之一。
我使用一个私有和一个公共字段在 C # 中创建我的属性:
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
现在,有了 .NET3.0,我们就有了自动属性:
public string Title { get; set; }
我知道这更多是一个哲学/主观的问题,但是除了为每个字段保存5行代码之外,还有什么理由使用这些自动属性吗?我个人的抱怨是那些房子对我隐瞒了一些事情,而我不是黑魔法的狂热粉丝。
事实上,隐藏的私有字段甚至不会在调试器中显示出来,考虑到 get/set 函数什么都不做,这样做是可以的。但是,当我想实现一些 getter/setter 逻辑时,无论如何都必须使用私有/公共对。
我看到了这样做的好处: 我节省了大量的代码(一行对六行) ,而且以后不会失去更改 getter/setter 逻辑的能力,但是我已经可以通过简单地声明一个公共字段“ Public string Title”来做到这一点,而不需要{ get; set; }块,因此甚至可以节省更多的代码。
那么,我到底漏掉了什么呢? 为什么会有人真的想要使用自动属性呢?