Assembly.GetCustomAttributes Methode

Definition

Ruft die benutzerdefinierten Attribute für diese Assembly ab.

Überlädt

GetCustomAttributes(Boolean)

Ruft alle benutzerdefinierten Attribute für diese Assembly ab.

GetCustomAttributes(Type, Boolean)

Ruft die benutzerdefinierten Attribute für diese Assembly ab, wie durch den Typ angegeben.

GetCustomAttributes(Boolean)

Ruft alle benutzerdefinierten Attribute für diese Assembly ab.

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()

Parameter

inherit
Boolean

Dieses Argument wird für Objekte vom Typ Assembly ignoriert.

Gibt zurück

Object[]

Ein Array, das die benutzerdefinierten Attribute für diese Assembly enthält.

Implementiert

Hinweise

Diese Methode implementiert die entsprechende ICustomAttributeProvider Schnittstellenmethode. Daher muss der inherit Parameter angegeben werden, obwohl er ignoriert wird.

Ein Pseudoattribut gibt Bits der Kernmetadaten an, die festgelegt werden müssen, wenn das Attribut vorhanden ist. Im Gegensatz zu einem benutzerdefinierten Attribut, das die Metadaten für einen Typ erweitert und zusammen mit dem Typ gespeichert wird, ändert ein Pseudoattribut die Metadaten für den Typ und wird dann verworfen. Auf einige der resultierenden Bits kann nicht mithilfe vorhandener Reflektions-APIs zugegriffen werden.

In der folgenden Tabelle sind die verschiedenen Pseudoattribute und die Accessoren für die Bits zusammengefasst, die in der Reflektion verfügbar sind.

Pseudo-Attribute Metadatenbits Reflektionszugriffsor
DllImportAttribute CorPInvokeMap

DLL-Name
Kein Accessor für PInvokeMap für normale Methoden-/globale Methodenattribute.

Kein Accessor für DLL-Name.
GuidAttribute Wird als echtes benutzerdefiniertes Attribut gespeichert. Der Zugriff erfolgt als echtes benutzerdefiniertes Attribut.
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 Verschiedene Bits. Kein Accessor.
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

Klassenpackung.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Kein Accessor.
FieldOffsetAttribute Feldoffset. Kein Accessor.
AssemblyLoadAttribute CorAssemblyFlags Kein Accessor oder Enumerator.

Gilt für:

GetCustomAttributes(Type, Boolean)

Ruft die benutzerdefinierten Attribute für diese Assembly ab, wie durch den Typ angegeben.

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()

Parameter

attributeType
Type

Der Typ, für den die benutzerdefinierten Attribute zurückzugeben sind.

inherit
Boolean

Dieses Argument wird für Objekte vom Typ Assembly ignoriert.

Gibt zurück

Object[]

Ein Array, das die benutzerdefinierten Attribute für diese Assembly enthält, wie durch attributeType angegeben.

Implementiert

Ausnahmen

attributeType ist null.

attributeType ist kein Laufzeittyp.

Hinweise

Diese Methode implementiert die entsprechende ICustomAttributeProvider Schnittstellenmethode. Daher muss der inherit Parameter angegeben werden, obwohl er ignoriert wird.

Ein Pseudoattribut gibt Bits der Kernmetadaten an, die festgelegt werden müssen, wenn das Attribut vorhanden ist. Im Gegensatz zu einem benutzerdefinierten Attribut, das die Metadaten für einen Typ erweitert und zusammen mit dem Typ gespeichert wird, ändert ein Pseudoattribut die Metadaten für den Typ und wird dann verworfen. Auf einige der resultierenden Bits kann nicht mithilfe vorhandener Reflektions-APIs zugegriffen werden.

In der folgenden Tabelle sind die verschiedenen Pseudoattribute und die Accessoren für die Bits zusammengefasst, die in der Reflektion verfügbar sind.

Pseudo-Attribute Metadatenbits Reflektionszugriffsor
DllImportAttribute CorPInvokeMap

DLL-Name
Kein Accessor für PInvokeMap für normale Methoden-/globale Methodenattribute.

Kein Accessor für DLL-Name.
GuidAttribute Wird als echtes benutzerdefiniertes Attribut gespeichert. Der Zugriff erfolgt als echtes benutzerdefiniertes Attribut.
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 Verschiedene Bits. Kein Accessor.
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

Klassenpackung.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Kein Accessor.
FieldOffsetAttribute Feldoffset. Kein Accessor.
AssemblyLoadAttribute CorAssemblyFlags Kein Accessor oder Enumerator.

Gilt für: