CLS に準拠していない 'Mustoverride' メンバは、 CLS に準拠している '<classname>' に使用できません。

更新 : 2007 年 11 月

クラスが <CLSCompliant(True)> でマーク付けされていますが、このクラスに <CLSCompliant(False)> でマーク付けされるか、またはこのマークが付いていない MustOverride プロパティまたはプロシージャが含まれています。

クラスが 共通言語仕様 (CLS) に準拠している場合、そのクラスを使用するアプリケーションは、同じく <CLSCompliant(True)> でマーク付けされたメンバにのみアクセスし、そうでないメンバは無視します。しかし、MustOverride プロパティまたはプロシージャがあると、アプリケーションはこれにアクセスしてオーバーライドする必要があるため無視できません。

CLSCompliantAttribute をプログラミング要素に適用するときは、属性の isCompliant パラメータを True または False に設定して準拠または非準拠を示します。このパラメータの既定値はありません。値を指定する必要があります。

CLSCompliantAttribute を要素に設定しなかった場合は、非準拠であると見なされます。

既定では、このメッセージは警告です。警告を非表示にする方法や、警告をエラーとして扱う方法の詳細については、Visual Basic での警告の構成 を参照してください。

Error ID: BC40034

このエラーを解決するには

  • CLS 準拠にする必要があり、このソース コードを変更できる場合は、メンバを <CLSCompliant(True)> でマーク付けします。

  • CLS 準拠にする必要があり、クラスのソース コードを変更できない場合、または CLS 準拠であるかどうかが明確でない場合は、このメンバを別のクラスに定義します。

  • このメンバを非準拠にしておく必要がある場合は、MustOverride キーワードを定義から削除するか、CLSCompliantAttribute をクラス定義から削除するか、またはクラスを <CLSCompliant(False)> でマーク付けします。

参照

概念

CLS 準拠コードの記述

参照

MustOverride