CLS に準拠していない <membername> は、CLS に準拠しているインターフェイスに使用できません。

更新 : 2007 年 11 月

インターフェイス内のプロパティ、プロシージャ、またはイベントが <CLSCompliant(True)> でマーク付けされていますが、そのインターフェイス自体が <CLSCompliant(False)> でマーク付けされているか、またはマークが付いていません。

インターフェイスが 共通言語仕様 (CLS) に準拠している場合、そのすべてのメンバも準拠している必要があります。

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

CLSCompliantAttribute を要素に適用しなかった場合は、非準拠と見なされます。

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

Error ID: BC40033

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

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

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

  • このメンバを現在のインターフェイス内に残しておく必要がある場合は、インターフェイスの定義から CLSCompliantAttribute を削除するか、<CLSCompliant(False)> でマーク付けします。

参照

概念

CLS 準拠コードの記述

参照

Interface ステートメント (Visual Basic)