jim*_*eed 17

公共财产访问器将在未来为您提供更大的灵活性.

如果要添加验证以设置值,只需编写非默认的setter.您的其他代码都不必修改.

也可能有理由要用代码替换默认的getter.这可能是公共变量的真正痛苦.

  • @Rob:所以财产利益主要适用于仅作为二进制文件发布的图书馆?对于内部代码,没有那么多? (3认同)

Cod*_*ike 5

除了其他答案外,您还可以使用属性将值设置为只读或仅设置:

public int Item { get; private set; } // read-only outside the class. Can only be set privately.
Run Code Online (Sandbox Code Playgroud)

我还遇到过一些情况,后来我决定要代理一个对象或添加AOP,这基本上需要属性。