這個 'Sub New' 的第一個陳述式必須是對 'MyBase.New' 或 'MyClass.New' 的明確呼叫,因為 '<derivedclassname>' 的基底類別 '<baseclassname>' 中的 '<constructorname>' 標記為過時。

更新:2007 年 11 月

類別建構函式 (Constructor) 不會明確呼叫基底類別建構函式,而會以 ObsoleteAttribute 屬性 (Attribute) 和指示詞標記隱含基底類別建構函式,並將它視為錯誤。

當衍生類別建構函式未呼叫基底類別建構函式時,Visual Basic 會嘗試產生對無參數基底類別建構函式的隱含呼叫。如果基底類別中沒有不需引數即可呼叫存取的建構函式,則 Visual Basic 不會產生隱含呼叫。在這個案例中,必要的建構函式會標記著 ObsoleteAttribute 屬性,這樣 Visual Basic 便不會呼叫它。

您可以套用 ObsoleteAttribute,標記任何將來不會再使用的程式設計項目。如果這麼做,可以將屬性 (attribute) 的 IsError 屬性 (property) 設定為 True 或 False。如果將它設定為 True,嘗試使用此項目時,編譯器會將其視為錯誤。如果將它設定為 False,或讓它預設值為 False,嘗試使用此項目時,編譯器會發出警告。

錯誤 ID:BC30919

若要更正這個錯誤

  • 包含對 MyBase.New() 或 MyClass.New() 的呼叫,做為衍生類別中 Sub New 的第一個陳述式。

請參閱

概念

Visual Basic 所用的屬性

屬性的應用