我刚开始学习C#,但在别人写的一些早期代码中我看到了{get; set;}
,{get; private set;}
以及{get;}
这些字眼。
这到底是什么意思? 在{get; set;}
和{get; private set;}
以及{get;}
之间有什么区别?
我刚开始学习C#,但在别人写的一些早期代码中我看到了{get; set;}
,{get; private set;}
以及{get;}
这些字眼。
这到底是什么意思? 在{get; set;}
和{get; private set;}
以及{get;}
之间有什么区别?
当你写作时
public int MyProperty {get; set;}
在这种情况下,MyProperty
是 public
的,因此 getter 和 setter 都可以访问它。当你写:
public int MyProperty {get; private set;}
只有getter方法保留为public
,而setter方法则变成了private
。这种方法用于创建只能在类内部写入的属性。
C#的新版本提供了一个与此密切相关的结构。
public int MyProperty {get;}
它允许您使属性成为只读。这与{get;private set;}
类似,但它还限制了对MyProperty
的所有赋值,仅限于其包含类的构造函数。