屬性存取子不能在 'NotOverridable' 屬性中宣告為 '<accessmodifier>'
更新:2007 年 11 月
NotOverridable 屬性中的 Get 陳述式或 Set 陳述式 (Visual Basic) 包含 Private 關鍵字。
下列幾行原因會說明為何無法將 NotOverridable 和 Private 結合至 Property 陳述式中:
不會覆寫基底類別 (Base Class) 屬性或程序的屬性或程序,會有 NotOverridable 的預設值。
不過,衍生類別 (Derived Class) 中將基底類別屬性或程序覆寫掉的屬性或程序,會有 Overridable 的預設值。若要終止覆寫階層,您可以將它宣告為 NotOverridable。這是唯一可以使用 NotOverridable 的內容。也就是說,只能將 NotOverridable 與 Overrides 搭配使用。
如果基底類別屬性或程序宣告為 Private (Visual Basic),則衍生類別無法加以存取,也就無法覆寫該屬性或程序。因此,您無法將 Private 與 Overridable 搭配使用。
若要覆寫屬性或程序,覆寫屬性或程序不僅要具有相同的簽章,也要有相同的存取層級。這表示覆寫屬性或程序無法指定 Private,因為可覆寫的屬性或程序無法指定 Private。
因為您只能在覆寫屬性或程序上指定 NotOverridable,所以無法與 Private 搭配使用。
同理,覆寫屬性的個別屬性程序 (Get 和 Set) 不得為 Private。
錯誤 ID:BC31106
若要更正這個錯誤
- 移除 Get 或 Set 陳述式 (Statement) 中的 Private 關鍵字,或是移除 Property 陳述式中的 Overrides 和 NotOverridable 關鍵字。