CLSCompliantAttribute 클래스

정의

프로그램 요소가 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
public sealed class CLSCompliantAttribute : 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
type CLSCompliantAttribute = class
    inherit 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 전체 어셈블리에를 적용 합니다.The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

다음 선언은 CLS에서 형식이 지정 되지 않았기 때문에 CLS 규격 경고를 생성 합니다 UInt32 .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특성은 특정 프로그램 요소가 .NET Framework를 대상으로 하는 모든 언어에서 지원 해야 하는 기능을 정의 하는 CLS (공용 언어 사양)를 준수 하는지 여부를 나타내는 데 사용 됩니다.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. 자세한 내용은 언어 독립성 및 언어 독립적 구성 요소를 참조 하세요.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)

표시된 프로그램 요소가 CLS 규격인지 여부를 나타내는 부울 값을 사용하여 CLSCompliantAttribute 클래스의 인스턴스를 초기화합니다.Initializes an instance of the CLSCompliantAttribute class with a Boolean value indicating whether the indicated program element is CLS-compliant.

속성

IsCompliant

표시된 프로그램 요소가 CLS 규격인지 여부를 나타내는 부울 값을 가져옵니다.Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.When implemented in a derived class, gets a unique identifier for this Attribute.

(다음에서 상속됨 Attribute)

메서드

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether this instance is equal to a specified object.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(다음에서 상속됨 Attribute)
Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

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

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.Maps a set of names to a corresponding set of dispatch identifiers.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.Retrieves the type information for an object, which can be used to get the type information for an interface.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.Provides access to properties and methods exposed by an object.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보