Pan*_*kaj 2 c# vb.net asp.net properties c#-4.0
以下是带有财产的类.
public class abc
{
public int MyProperty { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
混淆 - 在setter中输入私有访问修饰符有什么好处?
简单来说,它是允许类本身设置的属性,但外部对象只能读取.也许MyProperty改变作为方法的副作用,也许它只设置一次(在构造函数中).主要观点是变化的来源MyProperty必须来自内部abc(或嵌套类abc),而不是来自外部的东西,其中包含对它的引用.
至于为什么你可能会使用它,也许不能信任外部代码来设置这个值.该类不是严格不可变的,它可以改变,但是唯一可靠的代码存在于类(或嵌套类)中.外面的世界可以简单地阅读.