现在这样做有什么区别:
public string Title { get; set; }
还有这个:
public string Title;
过去人们总是说使用带有由公共(public)访问器调用的私有(private)变量的访问器方法,现在 .net 已经实现了 get;放;语句如此简化,以至于没有私有(private)变量时它们看起来几乎与仅使用公共(public)变量一样,那么重点和区别是什么?
最佳答案
我有一篇关于此的文章:Why properties matter .
简而言之:属性是 API 的一部分。字段是实现的一部分。不要将你的实现暴露给世界。您可以以源代码和二进制兼容的方式更改自动实现的属性以具有更多行为(例如,可能是日志记录)。你不能用一个字段来做到这一点。
关于.net - 这两种访问器/ getter / setter 方法之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3245467/