類別 '<classname>' 應該宣告 'Sub New',因為其基底類別 '<baseclassname>' 中的 '<constructorname>' 標記為過時

更新:2007 年 11 月

類別宣告 (Class Declaration) 不包括建構函式 (Constructor),而且基底類別建構函式是利用 ObsoleteAttribute 屬性和指示詞標示,以便將它視為警告。

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

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

根據預設,這個訊息是個警告,因為 ObsoleteAttributeIsError 屬性為 False。如需隱藏警告或將警告視為錯誤的詳細資訊,請參閱在 Visual Basic 中設定警告

錯誤 ID:BC41001

若要更正這個錯誤

  • 請使用 Sub New 在衍生類別中宣告建構函式。

請參閱

概念

Visual Basic 所用的屬性

屬性的應用