7

メソッドの一部に次の属性を持つコードに取り組んでいます。

[CLSCompliantAttribute(false)] 

コードをそのままビルドするとコンプライアンス チェックが実行されているのに、コメント アウトするとコンプライアンス チェックが実行されていないように見えるのはなぜですか?

私は反対の行動を期待していました...

4

2 に答える 2

9

追加すると、追加[CLSCompliant(false)]先のメンバーが非準拠としてマークされます。

メンバーを非準拠としてマークすると、準拠していなくてもコンパイラは警告しません。(あなたはすでにそれが準拠していないと言っているので。)

ただし、メンバーが (アセンブリ レベルの属性から明示的または間接的に) 準拠しているとマークされているが、実際には準拠していない (たとえば、uintを受け取る) 場合、コンパイラは警告を表示します (属性が現在メンバーについて嘘をついている)。

于 2010-11-01T17:29:36.227 に答える