CLSCompliantAttribute クラス

定義

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

public ref class CLSCompliantAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
public sealed class CLSCompliantAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
public sealed class CLSCompliantAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CLSCompliantAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
type CLSCompliantAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
[<System.Serializable>]
type CLSCompliantAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CLSCompliantAttribute = class
    inherit Attribute
Public NotInheritable Class CLSCompliantAttribute
Inherits Attribute
継承
CLSCompliantAttribute
属性

次の例では、 を CLSCompliantAttribute アセンブリ全体に適用します。

using System;
    [assembly: CLSCompliant(true)]

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

public int SetValue(UInt32 value);

宣言が でマークされている場合、 CLSCompliantAttributeコンパイラの警告またはエラーは生成されません。

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

注釈

属性は CLSCompliantAttribute 、特定のプログラム要素が共通言語仕様 (CLS) に準拠しているかどうかを示すために使用されます。これは、.NET を対象とする言語がサポートする必要がある機能を定義します。 CLS コンプライアンスは、主に、.NET を対象とする任意の言語でライブラリにアクセスできるようにする必要があるライブラリ開発者に関する懸念事項です。 詳細については、「 言語の独立」および「Language-Independent コンポーネント」を参照してください。

属性は CLSCompliantAttribute 、アセンブリ、モジュール、クラス、構造体、列挙型、コンストラクター、メソッド、プロパティ、フィールド、イベント、インターフェイス、デリゲート、パラメーター、および戻り値のプログラム要素に適用できます。 ただし、CLS コンプライアンスの概念は、メンバー署名の一部ではなく、アセンブリ、モジュール、型、および型のメンバーに対してのみ意味があります。 したがって、 は、 CLSCompliantAttribute パラメーターまたは戻り値プログラム要素に適用される場合は無視されます。

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

  • アセンブリは CLS に準拠していません。

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

  • 型のメンバーは、型が CLS に準拠している場合にのみ CLS に準拠しています。

アセンブリが CLS 準拠としてマークされている場合、CLS に準拠していないアセンブリで公開されている型は、引数を使用して falseCLSCompliantAttributeマークする必要があります。 同様に、クラスが CLS 準拠としてマークされている場合は、CLS に準拠していないすべてのメンバーを個別にマークする必要があります。 非準拠メンバーはすべて、対応する CLS 準拠の代替手段を提供する必要があります。

アセンブリまたはモジュールに適用される属性は、C# using (Imports Visual Basic の場合) 句の後、およびコードの前に存在する必要があります。

属性の使用の詳細については、「 属性」を参照してください。

注意

現在のMicrosoft Visual Basic コンパイラでは、意図的に CLS 準拠の警告は生成されませんが、コンパイラの今後のリリースでは警告が発行されます。

コンストラクター

CLSCompliantAttribute(Boolean)

指定したプログラム要素が CLS に準拠しているかどうかを示すブール値を使用して、CLSCompliantAttribute クラスのインスタンスを初期化します。

プロパティ

IsCompliant

指定したプログラム要素が CLS に準拠しているかどうかを示すブール値を取得します。

TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。

(継承元 Attribute)

メソッド

Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。

(継承元 Attribute)
GetHashCode()

このインスタンスのハッシュ コードを返します。

(継承元 Attribute)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。

(継承元 Attribute)
Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。

(継承元 Attribute)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。

(継承元 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

(継承元 Attribute)

適用対象

こちらもご覧ください