信息
您所需的主题如下所示。但此主题未包含在此库中。

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 []
Object 类型的数组,包含由 attributeType 指定的此程序集的自定义特性。

实现

ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

异常条件
ArgumentNullException

attributeTypenull

ArgumentException

attributeType 不是运行时类型。

MemberAccessException

通过如 Type.InvokeMember 等机制以后期绑定的形式调用此方法。

此方法实现相应的 ICustomAttributeProvider 接口方法。因此,即使会忽略 inherit 参数,仍必须指定该参数。

伪特性指示当特性出现时必须设置的核心元数据位。与扩展某类型的元数据并随该类型一起保存的自定义特性不同,伪特性修改该类型的元数据然后被丢弃。无法通过现有的反射 API 访问某些结果位。

下表总结了不同的伪特性以及可用于反射的位的访问器。

伪特性

元数据位

反射访问器

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

显示: