为什么getter和setter的默认访问修饰符是public而不是private?
问问题
71 次
3 回答
5
属性的get
和set
部分不默认为公共,它们默认为它们所属属性的可见性。与所有其他类型的成员一样,属性本身的默认可见性是私有的。
于 2012-09-22T06:38:06.493 回答
0
因为它C#
是这样设计的。
- 定义字段
- 定义属性以访问该字段
因此,预期的默认行为是您创建字段private
并以一种能够write and read
从调用者(任意的,不仅是派生的)到字段的方式创建属性,因此属性和 get/set
方法(如果不是,则将属性公开没有任何意义)变成public
.
这只是预期的默认行为,仅此而已。
于 2012-09-22T06:37:51.870 回答
0
我认为这是因为该属性有自己的访问修饰符,实际上描述了一组两种方法:SomeType getProp() 和 void setProp(SomeType)。默认情况下,这些方法被视为属性。但是如果你想改变它们的可见性,你可以使用额外的修饰符(例如 Prop{get;private set;})。
于 2012-09-22T06:40:49.247 回答