我理解PROPERTIES优于FIELDS的优点,但我觉得使用自动实现的属性优于MANUAL实现的属性并不能提供任何其他优势,除了使代码更简洁一些.
我觉得使用起来更舒服:
private string _postalCode;
public string PostalCode
{
get { return _postalCode; }
set { _postalCode = value; }
}
Run Code Online (Sandbox Code Playgroud)
代替:
public string PostalCode { get; set; }
Run Code Online (Sandbox Code Playgroud)
主要是因为如果我想做任何类型的get和set的自定义实现,我必须创建自己的属性,无论如何由私有字段支持.那么为什么不从头开始咬住子弹并立即给予所有属性这种灵活性,以保持一致性?考虑到您在Visual Studio中所做的一切都是单击您的私有字段名称,然后按Ctrl + E,这真的不需要额外的一秒,而且您已经完成了.如果我手动完成,那么我最终会出现不一致的情况,其中有一些手动创建的公共属性由私有字段和一些自动实现的属性支持.随着它的一致性,我感觉好多了,无论是全自动还是全手动.
这只是我吗?我错过了什么吗?我错了什么?我是否过分强调一致性?我总能找到关于C#功能的合理讨论,并且几乎总有优点和缺点,但在这种情况下,我真的找不到任何建议不使用自动实现属性的人.