英語で読む

次の方法で共有


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)>としてマークします。

関連項目