CLS に準拠していない 'MustOverride' メンバーは、CLS に準拠している <クラス名> に使用できません
クラスは <CLSCompliant(True)>
としてマークされていますが、 MustOverride
プロパティが含まれているか、 <CLSCompliant(False)>
としてマークされているプロシージャまたはマークされていないプロシージャが含まれています。
クラスが言語への非依存性および言語非依存コンポーネント (CLS) に準拠している場合、そのクラスを使用するアプリケーションは、<CLSCompliant(True)>
としてマークされているメンバーだけにアクセスし、そうでないメンバーを無視します。 ただし、アプリケーションは MustOverride
プロパティやプロシージャを無視できません。アプリケーションは、そのプロパティまたはプロシージャをオーバーライドするためにそれにアクセスする必要があるためです。
プログラミング要素に CLSCompliantAttribute を適用する場合は、属性の isCompliant
パラメーターを True
または False
のどちらかに設定して、準拠または非準拠を示します。 このパラメーターには既定値がありません。値を指定する必要があります。
要素に CLSCompliantAttribute を適用しないと、その要素は非準拠と見なされます。
既定では、このメッセージは警告です。 警告を非表示にする方法や、警告をエラーとして扱う方法の詳細については、「 Configuring Warnings in Visual Basic」をご覧ください。
エラー ID: BC40034
CLS への準拠が必要なときに、クラス ソース コードを制御できる場合は、メンバーを
<CLSCompliant(True)>
としてマークします。CLS への準拠が必要なときに、クラス ソース コードを制御できない場合や、クラス ソース コードが準拠のための要件を満たしていない場合は、このメンバーを別のクラス内で定義します。
このメンバーを非準拠のままにしておく必要がある場合は、このメンバーの定義から
MustOverride
キーワードを削除するか、クラス定義から CLSCompliantAttribute を削除するか、クラスを<CLSCompliant(False)>
としてマークします。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。