.net - 这两种访问器/ getter / setter 方法之间的区别?

标签 .net get set accessor

现在这样做有什么区别:

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/

相关文章:

.net - 在您的应用程序中实现插件的设计模式?

c# - 将 IFoo<T> 转换为 IFoo<object> 的一般方法

mysql - 有什么方法可以获取上次更新的行 ID

php - Laravel 5.3 - 在请求其他 GET 值时保留 GET 值

c++ - set::insert 的复杂度

.net - 在托管 c++/.net 4.0 中创建对象的 ConcurrentQueue

.net - 在 Mono 上的 Linq 到 SQL?

ios - 谷歌应用引擎。 Google 应用引擎将 POST 请求视为 GET

匹配具有重叠成员的集合的算法

Python - 在元组集中定位元素