符合 CLS 標準的 <classname> 中不允許有不符合 CLS 標準的 'MustOverride' 成員

更新:2007 年 11 月

類別 (Class) 已標示為 <CLSCompliant(True)>,但它包含已標示為 <CLSCompliant(False)> 或未加以標示的 MustOverride 屬性或程序。

當類別符合 Common Language Specification (CLS) 標準時,使用該類別的應用程式只會存取也標示為 <CLSCompliant(True)> 的成員,並忽略未標示的成員。然而,應用程式無法忽略 MustOverride 屬性或程序,因為它必須存取該屬性或程序,才能加以覆寫。

當您套用 CLSCompliantAttribute 至程式設計的項目時,您可以將 isCompliant 參數的屬性設定為 True 或 False,指示相容或不相容。這個參數沒有預設值,所以您必須提供預設值。

如果沒有將 CLSCompliantAttribute 套用至項目,會被認為是不相容。

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

錯誤 ID:BC40034

若要更正這個錯誤

  • 如果您需要符合 CLS 標準,並具有該類別原始程式碼的控制權,請將成員標示為 <CLSCompliant(True)>。

  • 如果您需要符合 CLS 標準,但不具有該類別原始程式碼的控制權,或是該成員並不符合 CLS 標準,則請在其他類別內定義這個成員。

  • 如果您需要這個成員保持不符合標準,則請從它的定義移除 MustOverride 關鍵字、從類別定義移除 CLSCompliantAttribute,或將類別標示為 <CLSCompliant(False)>。

請參閱

概念

撰寫符合 CLS 標準的程式碼

參考

MustOverride