정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Assembly.GetCustomAttributes 메서드 (Type, Boolean)

2013-12-13

형식에 의해 지정된 대로, 이 어셈블리에 대한 사용자 지정 특성을 가져옵니다.

Namespace:  System.Reflection
어셈블리:  mscorlib(mscorlib.dll)

public virtual Object[] GetCustomAttributes(
	Type attributeType,
	bool inherit
)

매개 변수

attributeType
형식: System.Type
사용자 지정 특성이 반환될 Type입니다.
inherit
형식: System.Boolean
이 인수는 Assembly 형식의 개체에 대해 무시됩니다.

반환 값

형식: System.Object []
attributeType에서 지정한 대로, 이 어셈블리에 대한 사용자 지정 특성을 포함하는 Object 형식의 배열입니다.

Implements

ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

예외조건
ArgumentNullException

attributeTypenull인 경우

ArgumentException

attributeType이 런타임 형식이 아닌 경우

MemberAccessException

이 메서드가 Type.InvokeMember와 같은 메커니즘을 통해 런타임에 바인딩되어 호출된 경우

이 메서드는 해당 ICustomAttributeProvider 인터페이스 메서드를 구현합니다. 따라서 inherit 매개 변수가 무시되더라도 이를 지정해야 합니다.

의사(pseudo) 특성이 있는 경우 핵심 메타데이터의 비트를 설정해야 합니다. 형식에 대한 메타데이터를 확장하고 형식과 함께 저장되는 사용자 지정 특성과 달리 의사(pseudo) 특성은 형식에 대한 메타데이터를 수정한 다음 삭제됩니다. 기존의 리플렉션 API를 사용하여 일부 결과 비트에 액세스할 수 없습니다.

다음 표에서는 여러 의사(pseudo) 특성 및 리플렉션에 사용할 수 있는 비트의 접근자를 요약합니다.

의사(pseudo) 특성

메타데이터 비트

리플렉션 접근자

DllImportAttribute

CorPInvokeMap

DLL 이름

기본 메서드/전역 메서드 특성에 대한 PInvokeMap의 접근자가 없습니다.

DLL 이름의 접근자가 없습니다.

GuidAttribute

실제 사용자 지정 특성으로 저장됩니다.

실제 사용자 지정 특성으로 액세스됩니다.

ComImportAttribute

CorTypeAttr.tdImport

Type.Attributes.Import

SerializableAttribute

CorTypeAttr.tdSerializable

Type.Attributes.Serializable

NonSerializedAttribute

CorFieldAttr.fdNotSerialized

FieldInfo.Attributes.NotSerialized

MethodImplAttribute

CorMethodImpl

MethodInfo.GetMethodImplementationFlags()

ConstructorInfo.GetMethodImplementationFlags()

MarshalAsAttribute

비트가 여러 개입니다.

접근자가 없습니다.

PreserveSigAttribute

CorMethodImpl.miOLE

MethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo.GetMethodImplementationFlags().OLE

InAttribute

CorParamAttr.pdIn

ParameterInfo.Attributes.In

OutAttribute

CorParamAttr.pdOut

ParameterInfo.Attributes.Out

StructLayoutAttribute

CorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClass

클래스 패킹

Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

접근자가 없습니다.

FieldOffsetAttribute

필드 오프셋

접근자가 없습니다.

AssemblyLoadAttribute

CorAssemblyFlags

접근자 또는 열거자가 없습니다.

Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: