質問

CLSCompliant 属性?

役に立ちましたか?

解決

まマークの授業のCLSCompliant属性の場合だとしても使用できます。純ます。これらの基本的なルール:

  1. 符号なしの種類りすることがあってはならない、公開インタフェースのクラスです。そういう意味では公共分野のない符号なし種のようなuintはulong、公共法戻さないようになってい符号なしの種類、パラメータに渡される公的機能のない符号なします。しかし符号なしの種類の一部とすることはでき個人会員とする。

  2. 安全でない種類のようにポインタの使用できません公開。しかしとして使用することも可能で個人会員とする。

  3. クラス名および会員名はないが異なるだけでなく。例えばしはできない方法の名MyMethodとMYMETHOD.

  4. みプロパティとメソッドへ負担をかけ、事業者は過負荷状態で運転されています。

他のヒント

それは CLSに準拠しにあることをあなたのコードの他の消費者に伝えます、また、それはあなたのためにCLSに準拠していることだ。をチェックするC#コンパイラを作る。

参照記事は、CLS準拠が必要とするものについて多くの詳細が含まれています。

他の回答が正しいです。私はいくつかのことを明確にしましょう - CLSは共通言語仕様の略です。これは、.NET言語で実装し、理解しなければならないルールや必要な言語機能の最小セットです。このセットは、どのタイプを定義する共通型システムをrel="noreferrer"> href="http://msdn.microsoft.com/en-us/library/zcx1eb1e.aspx"

ビーイングCLS準拠では、コンパイルとCLR上で実行することができます任意の言語で使用できるコードを書くことができます。しかし、CLS準拠は、あなたのCLS準拠が行うのは難しいか、不可能であろう場合に柔軟性を与え、必要とされていません。

あなたが他の開発者によって消費されるコードをする場合は、

は、あなたのAPI(公開クラスやメソッド)CLSに準拠しなければなりません。あなたは、あなたのアセンブリにCLSCompliantAttributeを追加することで、これを宣言しなければなりません。あなたが他の人のために書いていない場合は、CLS準拠は、 FxCopのに(の枠組みが、必要はありませんのコップ)私とそうは思わない。

あなたのアセンブリがCLSCompliantAttributeでマークされている場合は、

、コンパイラは(はず!)コンパイルするとき、それはCLSのルールのいずれかを(のocdecio をそのうちのいくつかは言及違反するかどうかを確認するためにあなたのコードをチェックします)と固定のためのあなたに違反を報告します。

CLS準拠は、CLRによって許可され、完全な言語スペクトルのサブセットです。これは、CLRをターゲット言語の過半数によって利用できる可能性のあるサブセットに制限されます。これは、あなたのライブラリーは、CLRをターゲットに、すべての言語で使用できることを、増加させるが、保証するものではありません。

それはここにフィットしたよう:(ソリューションエクスプローラで[プロパティの下にあります)AssemblyInfo.csするために、この行を追加し、プロジェクト全体CLS準拠をマークするには、

[assembly:CLSCompliant(true)]

または同等にVB.NETで(AssemblyInfo.vbは私のプロジェクトの下に隠されている)。

<Assembly: CLSCompliant(True)>
あなたのコードCLS準拠<作る

のおかげで/>。

scroll top