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

Definition

Ruft die benutzerdefinierten Attribute für diese Assembly ab.Gets the custom attributes for this assembly.

Überlädt

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

Ruft alle benutzerdefinierten Attribute für diese Assembly ab.Gets all the custom attributes for this assembly.

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

Ruft die benutzerdefinierten Attribute für diese Assembly ab, wie durch den Typ angegeben.Gets the custom attributes for this assembly as specified by type.

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

Ruft alle benutzerdefinierten Attribute für diese Assembly ab.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()

Parameter

inherit
Boolean Boolean Boolean Boolean

Dieses Argument wird für Objekte vom Typ Assembly ignoriert.This argument is ignored for objects of type Assembly.

Gibt zurück

Object[]

Ein Array, das die benutzerdefinierten Attribute für diese Assembly enthält.An array that contains the custom attributes for this assembly.

Implementiert

Hinweise

Diese Methode implementiert die entsprechende ICustomAttributeProvider Schnittstellen Methode.This method implements the corresponding ICustomAttributeProvider interface method. Daher muss der inherit -Parameter angegeben werden, auch wenn er ignoriert wird.Therefore, the inherit parameter must be specified even though it is ignored.

Ein Pseudo Attribut gibt Bits der Kernmetadaten an, die festgelegt werden müssen, wenn das Attribut vorhanden ist.A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. Anders als bei einem benutzerdefinierten Attribut, das die Metadaten für einen Typ erweitert und zusammen mit dem-Typ gespeichert wird, werden die Metadaten für den Typ durch ein Pseudo Attribut geändert und dann verworfen.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. Auf einige der resultierenden Bits kann nicht mithilfe vorhandener Reflection-APIs zugegriffen werden.Some of the resulting bits cannot be accessed using existing reflection APIs.

In der folgenden Tabelle werden die verschiedenen Pseudo Attribute und Accessoren für die Bits zusammengefasst, die in der Reflektion verfügbar sind.The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

Pseudo AttributPseudo-Attribute MetadatenbitsMetadata Bits ReflektionsaccessorReflection Accessor
DllImportAttributeDllImportAttribute CorPInvokeMapCorPInvokeMap

DLL-NameDLL name
Kein Accessor für PInvokeMap für normale Methoden-/Global Methodenattribute.No accessor for PInvokeMap for ordinary method/global method attributes.

Kein Accessor für den DLL-Namen.No accessor for DLL name.
GuidAttributeGuidAttribute Wird als echtes benutzerdefiniertes Attribut gespeichert.Stored as a real custom attribute. Der Zugriff erfolgt als echtes benutzerdefiniertes Attribut.Accessed as a real custom attribute.
ComImportAttributeComImportAttribute CorTypeAttr.tdImportCorTypeAttr.tdImport Type. Attribute. 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 Verschiedene Bits.Various bits. Kein Accessor.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

Klassen Verpackung.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

Kein Accessor.No accessor.
FieldOffsetAttributeFieldOffsetAttribute Feld Offset.Field offset. Kein Accessor.No accessor.
AssemblyLoadAttributeAssemblyLoadAttribute CorAssemblyFlagsCorAssemblyFlags Kein Accessor oder Enumerator.No accessor or enumerator.

Sicherheit

ReflectionPermission
Wenn Sie spät gebunden durch Mechanismen wie InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])aufgerufen wird.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

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

Ruft die benutzerdefinierten Attribute für diese Assembly ab, wie durch den Typ angegeben.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()

Parameter

attributeType
Type Type Type Type

Der Typ, für den die benutzerdefinierten Attribute zurückzugeben sind.The type for which the custom attributes are to be returned.

inherit
Boolean Boolean Boolean Boolean

Dieses Argument wird für Objekte vom Typ Assembly ignoriert.This argument is ignored for objects of type Assembly.

Gibt zurück

Object[]

Ein Array, das die benutzerdefinierten Attribute für diese Assembly enthält, wie durch attributeType angegeben.An array that contains the custom attributes for this assembly as specified by attributeType.

Implementiert

Ausnahmen

attributeType ist kein Laufzeittyp.attributeType is not a runtime type.

Hinweise

Diese Methode implementiert die entsprechende ICustomAttributeProvider Schnittstellen Methode.This method implements the corresponding ICustomAttributeProvider interface method. Daher muss der inherit -Parameter angegeben werden, auch wenn er ignoriert wird.Therefore, the inherit parameter must be specified even though it is ignored.

Ein Pseudo Attribut gibt Bits der Kernmetadaten an, die festgelegt werden müssen, wenn das Attribut vorhanden ist.A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. Anders als bei einem benutzerdefinierten Attribut, das die Metadaten für einen Typ erweitert und zusammen mit dem-Typ gespeichert wird, werden die Metadaten für den Typ durch ein Pseudo Attribut geändert und dann verworfen.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. Auf einige der resultierenden Bits kann nicht mithilfe vorhandener Reflection-APIs zugegriffen werden.Some of the resulting bits cannot be accessed using existing reflection APIs.

In der folgenden Tabelle werden die verschiedenen Pseudo Attribute und Accessoren für die Bits zusammengefasst, die in der Reflektion verfügbar sind.The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

Pseudo AttributPseudo-Attribute MetadatenbitsMetadata Bits ReflektionsaccessorReflection Accessor
DllImportAttributeDllImportAttribute CorPInvokeMapCorPInvokeMap

DLL-NameDLL name
Kein Accessor für PInvokeMap für normale Methoden-/Global Methodenattribute.No accessor for PInvokeMap for ordinary method/global method attributes.

Kein Accessor für den DLL-Namen.No accessor for DLL name.
GuidAttributeGuidAttribute Wird als echtes benutzerdefiniertes Attribut gespeichert.Stored as a real custom attribute. Der Zugriff erfolgt als echtes benutzerdefiniertes Attribut.Accessed as a real custom attribute.
ComImportAttributeComImportAttribute CorTypeAttr.tdImportCorTypeAttr.tdImport Type. Attribute. 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 Verschiedene Bits.Various bits. Kein Accessor.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

Klassen Verpackung.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

Kein Accessor.No accessor.
FieldOffsetAttributeFieldOffsetAttribute Feld Offset.Field offset. Kein Accessor.No accessor.
AssemblyLoadAttributeAssemblyLoadAttribute CorAssemblyFlagsCorAssemblyFlags Kein Accessor oder Enumerator.No accessor or enumerator.

Sicherheit

ReflectionPermission
Wenn Sie spät gebunden durch Mechanismen wie InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])aufgerufen wird.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

Gilt für: