質問

VB6から移植したアプリに対して、CLS準拠に関して次のようなコンパイラ警告がいくつかあります。

Name '_AnIdentifier' is not CLS-Compliant.
Type of parameter 'myType' is not CLS-Compliant.

それにもかかわらず、私のアプリはCOMおよびマネージドクライアントからうまく動作するようです。コードをCLS準拠にするために何をすべきかを説明する記事をいくつか見てきましたが、おそらく先に進んで、しつこい警告を取り除きますが、CLSに準拠していないコードの欠点は実際にはどうなのか興味があります条項?まだ発見されていないこの偽装にはどのような制限がありますか?

役に立ちましたか?

解決

基本的に、一部の.NET言語で使用すると、クラスにアクセスできない場合があります(または、大きな正の数が負として扱われるなど、奇妙な動作をする場合があります)。それらがどんな言語であるかを言うことはできません。

たとえば、アンダースコアで始まる識別子を認識するために言語が必要だとは思わない。 C#で許可されているので安全です。ただし、他の言語では" _AnIdentifier"隠されているか、システムが生成した名前を持っている可能性があります。

他のヒント

CLSに準拠していないコードが難読化されると、難読化ツールが誤った難読化コードを生成する問題に遭遇しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top