属性访问器不能在“NotOverridable”属性中声明为“<accessmodifier>”
NotOverridable
属性中的 Get 语句或 Set 语句包含 Private
关键字。
以下推理行解释了 NotOverridable
中不可同时包含 Private
和 NotOverridable
的原因:
不重写基类属性(或过程)的属性(或过程)具有 NotOverridable这一默认设置。
但是,对于派生类中重写基类属性(或过程)的属性(或过程),其默认设置为 Overridable。 若要终止重写层次结构,可将其声明为
NotOverridable
。 这是唯一可使用NotOverridable
的上下文。 也就是说,你只能将NotOverridable
和NotOverridable
这一默认设置。如果基类属性或过程声明为 Private,则派生类无法访问此属性或过程,因而不能重写它。 因此,不能结合使用
Private
和Overridable
。若要重写属性或过程,则重写的属性或过程必须具有相同签名及相同的访问级别。 这意味着,重写的属性或过程不能指定
Private
,因为可重写的属性或过程不能指定Private
。因为你只可在重写的属性或过程上指定
NotOverridable
,因此不能将其与Private
结合使用。
同理,重写属性的个别属性过程(Get
和 Set
)不能为 Private
。
错误 ID: BC31106
- 删除
Private
或Get
语句中的Set
关键字,或者删除Overrides
语句中的NotOverridable
和Property
关键字。