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);

注釈

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

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

プログラム要素 CLSCompliantAttribute に が適用されな場合、既定では次の条件が適用されます。

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

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

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

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

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

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

注意

現在の 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)

適用対象

こちらもご覧ください