C# 只读属性就是只有get访问器的属性,通过它能读私有字段,但外部不能写私有字段,属性的值就是私有字段的值。操作方法如下
public int test { get; }
但这样虽外部是只读态,但类内也无法对私有字段操作
test = 1;
CS0200 无法为属性或索引器“test”赋值 - 它是只读的
如果将其设置为 get 和 set 属性,哪么外部也可以对字段进行操作,这不是我们想要的,哪么我们可以在set属性前加一个私有修饰 private,写法如下:
public int test { get; private set;}
这样就实现了外部只读,内部可写可读操作。