CLSCompliantAttribute CLSCompliantAttribute CLSCompliantAttribute CLSCompliantAttribute Class

定義

プログラム要素が共通言語仕様 (CLS) に準拠しているかどうかを示します。Indicates whether a program element is compliant with the Common Language Specification (CLS). このクラスは継承できません。This class cannot be inherited.

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

次の例では、適用、CLSCompliantAttributeアセンブリ全体にします。The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

次の宣言では、ため、CLS 準拠の警告が生成されます型UInt32CLS で指定されていません。The following declaration generates a CLS-compliance warning because the type UInt32 is not specified in the CLS.

public int SetValue(UInt32 value);  

宣言が付いている場合、CLSCompliantAttributeコンパイラの警告またはエラーは生成されません。If the declaration is marked with a CLSCompliantAttribute, no compiler warning or error is generated.

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

注釈

CLSCompliantAttribute属性と、共通言語仕様 (CLS)、.NET Framework を対象とする任意の言語のサポートが必要な機能を定義するが、特定のプログラム要素に準拠しているかどうかを示すために使用されます。The CLSCompliantAttribute attribute is used to indicate whether a particular program element complies with the Common Language Specification (CLS), which defines the features that any language that targets the .NET Framework must support. CLS 準拠では、そのライブラリが .NET Framework を対象とする任意の言語でアクセス可能であることを確認したいライブラリ開発者にとっては、主に。CLS compliance is primarily of concern to library developers who want to ensure that their libraries are accessible in any language that targets the .NET Framework. 詳細については、次を参照してください。 Language Independence and Language-independent Componentsします。For more information, See Language Independence and Language-Independent Components.

適用することができます、CLSCompliantAttribute次のプログラム要素に属性: アセンブリ、モジュール、クラス、構造体、列挙型、コンス トラクター、メソッド、プロパティ、フィールド、イベント、インターフェイス、デリゲート、パラメーター、および戻り値。You can apply the CLSCompliantAttribute attribute to the following program elements: assembly, module, class, struct, enum, constructor, method, property, field, event, interface, delegate, parameter, and return value. ただし、CLS 準拠の概念は意味のあるアセンブリ、モジュール、型、およびメンバーのシグネチャの一部では、型のメンバーのみです。However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. その結果、CLSCompliantAttributeパラメーターに適用されたか、プログラム要素の値を返す場合は無視されます。Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

ない場合はCLSCompliantAttribute既定では、プログラム要素に適用されます。If no CLSCompliantAttribute is applied to a program element, then by default:

  • アセンブリが CLS 準拠ではありません。The assembly is not CLS-compliant.

  • 外側の型またはアセンブリが CLS に準拠している場合にのみ、型は CLS 準拠です。The type is CLS-compliant only if its enclosing type or assembly is CLS-compliant.

  • 型が CLS に準拠している場合にのみ、型のメンバーは CLS 準拠です。The member of a type is CLS-compliant only if the type is CLS-compliant.

任意の一般公開されている型は CLS 準拠のアセンブリでをマークする必要があります、アセンブリが CLS 準拠としてマークすると、CLSCompliantAttributeを使用して、false引数。If an assembly is marked as CLS-compliant, any publicly exposed type in the assembly that is not CLS-compliant must be marked with CLSCompliantAttribute using a false argument. 同様に、クラスは CLS 準拠としてマークすると、CLS に準拠していないすべてのメンバーを個別にマークする必要があります。Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. すべての非準拠メンバーは、対応する CLS 準拠の代替を提供する必要があります。All non-compliant members must provide corresponding CLS-compliant alternatives.

アセンブリまたはモジュールに適用される属性が、C# の後に出現する必要がありますusing(Imports Visual Basic で) 句とコードの前にします。Attributes that are applied to assemblies or modules must occur after the C# using (Imports in Visual Basic) clauses and before the code.

属性の使用方法の詳細については、次を参照してください。属性します。For more information about using attributes, see Attributes.

注意

現在の Microsoft Visual Basic コンパイラは意図的に CLS 準拠の警告を生成しません、ただし、コンパイラの将来のリリースは警告を発行します。The current Microsoft Visual Basic compiler intentionally does not generate a CLS-compliance warning, however, a future release of the compiler will issue that warning.

コンストラクター

CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean)

指定したプログラム要素が CLS に準拠しているかどうかを示すブール値を使用して、CLSCompliantAttribute クラスのインスタンスを初期化します。Initializes an instance of the CLSCompliantAttribute class with a Boolean value indicating whether the indicated program element is CLS-compliant.

プロパティ

IsCompliant IsCompliant IsCompliant IsCompliant

指定したプログラム要素が CLS に準拠しているかどうかを示すブール値を取得します。Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

TypeId TypeId TypeId TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

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

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

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

適用対象

こちらもご覧ください