41

あるクラスの件名から警告がありました。実際、クラスは非常に単純で、私の一般的な基本型の継承者にすぎません。また、ソリューション全体でそのジェネリッククラスから他の継承者がいくつかいますが、そのような警告はありません。

これの理由は何でしょうか?コンパイラは、基本型がCLSに準拠していない理由の手がかりを提供しません

4

4 に答える 4

62

あなたはおそらく[assembly:CLSCompliant(true)]その特定のプロジェクトのどこかにいます。これにより、コンパイラはすべてのタイプがCLSに準拠しているかどうかをチェックします。タイプやメソッドなどでこれをオーバーライドできます[CLSCompliant(false)]

于 2010-10-25T08:58:36.943 に答える
4

CLSCompliantとしてマークされた派生型があると思いますが、ベースはそうではありません。

CLS準拠のコード の記述標準的な例では、Common Language Specification(CLS)の一部ではないUInt32を使用しています。したがって、CLSに準拠するには、Int64を使用するか、属性を削除する必要があります(clsに準拠していないことを宣言します)。

問題のあるコード行を特定するには、さらにコードが必要です。発生しているエラーに関する詳細情報。

于 2010-10-25T09:04:09.770 に答える