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 규격 경고를 생성 형식 UInt32 CLS에 지정 되지 않은 합니다.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)

적용 대상

추가 정보