Assembly.GetCustomAttributes Assembly.GetCustomAttributes Assembly.GetCustomAttributes Assembly.GetCustomAttributes Method

정의

이 어셈블리에 대한 사용자 지정 특성을 가져옵니다.Gets the custom attributes for this assembly.

오버로드

GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean)

이 어셈블리에 대한 사용자 지정 특성을 모두 가져옵니다.Gets all the custom attributes for this assembly.

GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean)

형식에 의해 지정된 대로, 이 어셈블리에 대한 사용자 지정 특성을 가져옵니다.Gets the custom attributes for this assembly as specified by type.

GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean)

이 어셈블리에 대한 사용자 지정 특성을 모두 가져옵니다.Gets all the custom attributes for this assembly.

public:
 virtual cli::array <System::Object ^> ^ GetCustomAttributes(bool inherit);
public virtual object[] GetCustomAttributes (bool inherit);
abstract member GetCustomAttributes : bool -> obj[]
override this.GetCustomAttributes : bool -> obj[]
Public Overridable Function GetCustomAttributes (inherit As Boolean) As Object()

매개 변수

inherit
Boolean Boolean Boolean Boolean

이 인수는 Assembly 형식의 개체에 대해 무시됩니다.This argument is ignored for objects of type Assembly.

반환

Object[]

이 어셈블리에 대한 사용자 지정 특성이 포함된 배열입니다.An array that contains the custom attributes for this assembly.

구현

설명

이 메서드는 해당 구현 ICustomAttributeProvider 인터페이스 메서드.This method implements the corresponding ICustomAttributeProvider interface method. 따라서는 inherit 무시 하는 경우에 매개 변수를 지정 해야 합니다.Therefore, the inherit parameter must be specified even though it is ignored.

의사 (pseudo) 특성을 특성이 있는 경우 설정 해야 하는 핵심적인 메타 데이터의 비트를 나타냅니다.A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. 형식에 대 한 메타 데이터를 확장 하 고 유형과 함께 저장 되는 사용자 지정 특성을 달리 의사 (pseudo) 특성을 형식에 대 한 메타 데이터를 수정 하 고 삭제 됩니다.Unlike a custom attribute that extends the metadata for a type and is saved along with the type, a pseudo-attribute modifies the metadata for the type and then is discarded. 결과 비트 중 일부 기존 리플렉션 Api를 사용 하 여 액세스할 수 없습니다.Some of the resulting bits cannot be accessed using existing reflection APIs.

다음 표에서 다양 한 의사 (pseudo) 특성 및 리플렉션을 사용할 수 있는 비트에 대 한 접근자입니다.The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

의사 (pseudo) 특성Pseudo-Attribute 메타 데이터 비트Metadata Bits 리플렉션 접근자Reflection Accessor
DllImportAttributeDllImportAttribute CorPInvokeMapCorPInvokeMap

DLL 이름DLL name
일반 메서드/전역 메서드 특성에 대 한 PInvokeMap에 없는 접근자입니다.No accessor for PInvokeMap for ordinary method/global method attributes.

DLL 이름에 대 한 접근자가 없습니다.No accessor for DLL name.
GuidAttributeGuidAttribute 실제 사용자 지정 특성으로 저장 합니다.Stored as a real custom attribute. 실제 사용자 지정 특성으로 액세스 합니다.Accessed as a real custom attribute.
ComImportAttributeComImportAttribute CorTypeAttr.tdImportCorTypeAttr.tdImport Type.Attributes.ImportType.Attributes.Import
SerializableAttributeSerializableAttribute CorTypeAttr.tdSerializableCorTypeAttr.tdSerializable Type.Attributes.SerializableType.Attributes.Serializable
NonSerializedAttributeNonSerializedAttribute CorFieldAttr.fdNotSerializedCorFieldAttr.fdNotSerialized FieldInfo.Attributes.NotSerializedFieldInfo.Attributes.NotSerialized
MethodImplAttributeMethodImplAttribute CorMethodImplCorMethodImpl MethodInfo.GetMethodImplementationFlags()MethodInfo.GetMethodImplementationFlags()

ConstructorInfo.GetMethodImplementationFlags()ConstructorInfo.GetMethodImplementationFlags()
MarshalAsAttributeMarshalAsAttribute 다양 한 비트입니다.Various bits. 접근자가 없습니다.No accessor.
PreserveSigAttributePreserveSigAttribute CorMethodImpl.miOLECorMethodImpl.miOLE MethodInfo.GetMethodImplementationFlags().OLEMethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo.GetMethodImplementationFlags().OLEConstructorInfo.GetMethodImplementationFlags().OLE
InAttributeInAttribute CorParamAttr.pdInCorParamAttr.pdIn ParameterInfo.Attributes.InParameterInfo.Attributes.In
OutAttributeOutAttribute CorParamAttr.pdOutCorParamAttr.pdOut ParameterInfo.Attributes.OutParameterInfo.Attributes.Out
StructLayoutAttributeStructLayoutAttribute CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayoutCorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClassCorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClassCorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClassCorTypeAttr.tdAutoClass

클래스 압축 합니다.Class packing.
Type.Attributes.LayoutSequentialType.Attributes.LayoutSequential

Type.Attributes.ExplicitLayoutType.Attributes.ExplicitLayout

Type.Attributes.AnsiClassType.Attributes.AnsiClass

Type.Attributes.UnicodeClassType.Attributes.UnicodeClass

Type.Attributes.AutoClassType.Attributes.AutoClass

접근자가 없습니다.No accessor.
FieldOffsetAttributeFieldOffsetAttribute 필드 오프셋입니다.Field offset. 접근자가 없습니다.No accessor.
AssemblyLoadAttributeAssemblyLoadAttribute CorAssemblyFlagsCorAssemblyFlags 접근자 또는 열거자 없습니다.No accessor or enumerator.

보안

ReflectionPermission
호출 될 때 런타임에 바인딩된 메커니즘을 통해 같은 InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])합니다.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). 연결 된 열거형: MemberAccessAssociated enumeration: MemberAccess

GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean)

형식에 의해 지정된 대로, 이 어셈블리에 대한 사용자 지정 특성을 가져옵니다.Gets the custom attributes for this assembly as specified by type.

public:
 virtual cli::array <System::Object ^> ^ GetCustomAttributes(Type ^ attributeType, bool inherit);
public virtual object[] GetCustomAttributes (Type attributeType, bool inherit);
abstract member GetCustomAttributes : Type * bool -> obj[]
override this.GetCustomAttributes : Type * bool -> obj[]
Public Overridable Function GetCustomAttributes (attributeType As Type, inherit As Boolean) As Object()

매개 변수

attributeType
Type Type Type Type

사용자 지정 특성이 반환될 형식입니다.The type for which the custom attributes are to be returned.

inherit
Boolean Boolean Boolean Boolean

이 인수는 Assembly 형식의 개체에 대해 무시됩니다.This argument is ignored for objects of type Assembly.

반환

Object[]

attributeType에 의해 지정된 대로 이 어셈블리에 대한 사용자 지정 특성이 포함된 배열입니다.An array that contains the custom attributes for this assembly as specified by attributeType.

구현

예외

attributeTypenull입니다.attributeType is null.

attributeType이 런타임 형식이 아닙니다.attributeType is not a runtime type.

설명

이 메서드는 해당 구현 ICustomAttributeProvider 인터페이스 메서드.This method implements the corresponding ICustomAttributeProvider interface method. 따라서는 inherit 무시 하는 경우에 매개 변수를 지정 해야 합니다.Therefore, the inherit parameter must be specified even though it is ignored.

의사 (pseudo) 특성을 특성이 있는 경우 설정 해야 하는 핵심적인 메타 데이터의 비트를 나타냅니다.A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. 형식에 대 한 메타 데이터를 확장 하 고 유형과 함께 저장 되는 사용자 지정 특성을 달리 의사 (pseudo) 특성을 형식에 대 한 메타 데이터를 수정 하 고 삭제 됩니다.Unlike a custom attribute that extends the metadata for a type and is saved along with the type, a pseudo-attribute modifies the metadata for the type and then is discarded. 결과 비트 중 일부 기존 리플렉션 Api를 사용 하 여 액세스할 수 없습니다.Some of the resulting bits cannot be accessed using existing reflection APIs.

다음 표에서 다양 한 의사 (pseudo) 특성 및 리플렉션을 사용할 수 있는 비트에 대 한 접근자입니다.The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

의사 (pseudo) 특성Pseudo-Attribute 메타 데이터 비트Metadata Bits 리플렉션 접근자Reflection Accessor
DllImportAttributeDllImportAttribute CorPInvokeMapCorPInvokeMap

DLL 이름DLL name
일반 메서드/전역 메서드 특성에 대 한 PInvokeMap에 없는 접근자입니다.No accessor for PInvokeMap for ordinary method/global method attributes.

DLL 이름에 대 한 접근자가 없습니다.No accessor for DLL name.
GuidAttributeGuidAttribute 실제 사용자 지정 특성으로 저장 합니다.Stored as a real custom attribute. 실제 사용자 지정 특성으로 액세스 합니다.Accessed as a real custom attribute.
ComImportAttributeComImportAttribute CorTypeAttr.tdImportCorTypeAttr.tdImport Type.Attributes.ImportType.Attributes.Import
SerializableAttributeSerializableAttribute CorTypeAttr.tdSerializableCorTypeAttr.tdSerializable Type.Attributes.SerializableType.Attributes.Serializable
NonSerializedAttributeNonSerializedAttribute CorFieldAttr.fdNotSerializedCorFieldAttr.fdNotSerialized FieldInfo.Attributes.NotSerializedFieldInfo.Attributes.NotSerialized
MethodImplAttributeMethodImplAttribute CorMethodImplCorMethodImpl MethodInfo.GetMethodImplementationFlags()MethodInfo.GetMethodImplementationFlags()

ConstructorInfo.GetMethodImplementationFlags()ConstructorInfo.GetMethodImplementationFlags()
MarshalAsAttributeMarshalAsAttribute 다양 한 비트입니다.Various bits. 접근자가 없습니다.No accessor.
PreserveSigAttributePreserveSigAttribute CorMethodImpl.miOLECorMethodImpl.miOLE MethodInfo.GetMethodImplementationFlags().OLEMethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo.GetMethodImplementationFlags().OLEConstructorInfo.GetMethodImplementationFlags().OLE
InAttributeInAttribute CorParamAttr.pdInCorParamAttr.pdIn ParameterInfo.Attributes.InParameterInfo.Attributes.In
OutAttributeOutAttribute CorParamAttr.pdOutCorParamAttr.pdOut ParameterInfo.Attributes.OutParameterInfo.Attributes.Out
StructLayoutAttributeStructLayoutAttribute CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayoutCorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClassCorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClassCorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClassCorTypeAttr.tdAutoClass

클래스 압축 합니다.Class packing.
Type.Attributes.LayoutSequentialType.Attributes.LayoutSequential

Type.Attributes.ExplicitLayoutType.Attributes.ExplicitLayout

Type.Attributes.AnsiClassType.Attributes.AnsiClass

Type.Attributes.UnicodeClassType.Attributes.UnicodeClass

Type.Attributes.AutoClassType.Attributes.AutoClass

접근자가 없습니다.No accessor.
FieldOffsetAttributeFieldOffsetAttribute 필드 오프셋입니다.Field offset. 접근자가 없습니다.No accessor.
AssemblyLoadAttributeAssemblyLoadAttribute CorAssemblyFlagsCorAssemblyFlags 접근자 또는 열거자 없습니다.No accessor or enumerator.

보안

ReflectionPermission
호출 될 때 런타임에 바인딩된 메커니즘을 통해 같은 InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])합니다.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). 연결 된 열거형: MemberAccessAssociated enumeration: MemberAccess

적용 대상