エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

CLSCompliantAttribute クラス

2013/12/12

プログラム要素が CLS (Common Language Specification) に準拠しているかどうかを示します。このクラスは継承できません。

System.Object
  System.Attribute
    System.CLSCompliantAttribute

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

[AttributeUsageAttribute(AttributeTargets.All, Inherited = true, AllowMultiple = false)]
public sealed class CLSCompliantAttribute : Attribute

CLSCompliantAttribute 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドCLSCompliantAttribute指定したプログラム要素が CLS に準拠しているかどうかを示すブール値を使用して、CLSCompliantAttribute クラスのインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティIsCompliant指定したプログラム要素が CLS に準拠しているかどうかを示すブール値を取得します。
このページのトップへ

  名前説明
パブリック メソッドEqualsインフラストラクチャ。 対象のインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。 (Attribute から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (Attribute から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドMatch派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

CLSCompliantAttribute 属性は、プログラム要素であるアセンブリ、モジュール、クラス、構造体、列挙体、コンストラクター、メソッド、プロパティ、フィールド、イベント、インターフェイス、デリゲート、パラメーター、および戻り値に適用できます。ただし、CLS に準拠しているかどうかは、アセンブリ、モジュール、型、および型のメンバーに対してだけ意味があり、メンバーのシグネチャの各部に対しては意味がありません。したがって、CLSCompliantAttribute がパラメーターや戻り値のプログラム要素に適用されている場合は、無視されます。

CLSCompliantAttribute がプログラム要素に適用されていない場合は、既定では次のように判断されます。

  • アセンブリは CLS 非準拠。

  • 型は、その外側の型またはアセンブリが CLS に準拠している場合だけ CLS に準拠。

  • 型のメンバーは、その型が CLS に準拠している場合にだけ CLS に準拠。

アセンブリに CLS 準拠のラベルが付けられている場合、false 引数を指定した CLSCompliantAttribute で、そのアセンブリでパブリックに公開されている型のうち CLS に準拠していない型をマークする必要があります。同様に、クラスに CLS 準拠のラベルが付けられている場合は、CLS に準拠していない全メンバーを個別にマークする必要があります。CLS に準拠していないすべてのメンバーは、その代わりとなる CLS 準拠のメンバーを提供する必要があります。

アセンブリまたはモジュールに適用する属性は、C# using (Visual Basic では Imports) 句の後のコードの前に記述する必要があります。

メモメモ:

現在の Microsoft Visual Basic コンパイラは CLS 準拠に関する警告が生成されないように設定されていますが、将来のリリースでは警告が生成されます。

CLSCompliantAttribute をアセンブリ全体に適用する例を次に示します。

using System;
    [assembly:CLSCompliant(true)]

次の宣言では、型 UInt32 が CLS では指定されていないため、CLS 準拠に関する警告が生成されます。

 public int SetValue(UInt32 value);

宣言部を CLSCompliantAttribute でマークすると、コンパイラ警告やコンパイラ エラーは生成されません。

[CLSCompliant(false)]
 public int SetValue(UInt32 value);

Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2014 Microsoft