Lire en anglais

Partager via


Assembly.GetCustomAttributes Méthode

Définition

Obtient les attributs personnalisés pour cet assembly.

Surcharges

GetCustomAttributes(Boolean)

Obtient tous les attributs personnalisés pour cet assembly.

GetCustomAttributes(Type, Boolean)

Obtient les attributs personnalisés pour cet assembly, tels qu'ils sont spécifiés par le type.

GetCustomAttributes(Boolean)

Source:
Assembly.cs
Source:
Assembly.cs
Source:
Assembly.cs

Obtient tous les attributs personnalisés pour cet assembly.

C#
public virtual object[] GetCustomAttributes(bool inherit);

Paramètres

inherit
Boolean

Cet argument est ignoré pour les objets de type Assembly.

Retours

Object[]

Tableau qui contient les attributs personnalisés pour cet assembly.

Implémente

Remarques

Cette méthode implémente la méthode d’interface correspondante ICustomAttributeProvider . Par conséquent, le inherit paramètre doit être spécifié même s’il est ignoré.

Un pseudo-attribut indique des bits des métadonnées principales qui doivent être définis lorsque l’attribut est présent. Contrairement à un attribut personnalisé qui étend les métadonnées d’un type et est enregistré avec le type, un pseudo-attribut modifie les métadonnées du type, puis est ignoré. Certains des bits résultants ne sont pas accessibles à l’aide des API de réflexion existantes.

Le tableau suivant récapitule les différents pseudo-attributs et les accesseurs pour les bits disponibles en réflexion.

Pseudo-Attribute Bits de métadonnées Accesseur de réflexion
DllImportAttribute CorPInvokeMap

Nom de la DLL
Aucun accesseur pour PInvokeMap pour les attributs de méthode/méthode globale ordinaires.

Aucun accesseur pour le nom de LA DLL.
GuidAttribute Stocké en tant qu’attribut personnalisé réel. Accessible en tant qu’attribut personnalisé réel.
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 Divers bits. Aucun accesseur.
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

Empaquetage de classe.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Aucun accesseur.
FieldOffsetAttribute Décalage de champ. Aucun accesseur.
AssemblyLoadAttribute CorAssemblyFlags Pas d’accesseur ou d’énumérateur.

S’applique à

.NET 10 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetCustomAttributes(Type, Boolean)

Source:
Assembly.cs
Source:
Assembly.cs
Source:
Assembly.cs

Obtient les attributs personnalisés pour cet assembly, tels qu'ils sont spécifiés par le type.

C#
public virtual object[] GetCustomAttributes(Type attributeType, bool inherit);

Paramètres

attributeType
Type

Type pour lequel les attributs personnalisés doivent être retournés.

inherit
Boolean

Cet argument est ignoré pour les objets de type Assembly.

Retours

Object[]

Tableau qui contient les attributs personnalisés pour cet assembly, tels qu'ils sont spécifiés par attributeType.

Implémente

Exceptions

attributeType a la valeur null.

attributeType n’est pas un type de runtime.

Remarques

Cette méthode implémente la méthode d’interface correspondante ICustomAttributeProvider . Par conséquent, le inherit paramètre doit être spécifié même s’il est ignoré.

Un pseudo-attribut indique des bits des métadonnées principales qui doivent être définis lorsque l’attribut est présent. Contrairement à un attribut personnalisé qui étend les métadonnées d’un type et est enregistré avec le type, un pseudo-attribut modifie les métadonnées du type, puis est ignoré. Certains des bits résultants ne sont pas accessibles à l’aide des API de réflexion existantes.

Le tableau suivant récapitule les différents pseudo-attributs et les accesseurs pour les bits disponibles en réflexion.

Pseudo-Attribute Bits de métadonnées Accesseur de réflexion
DllImportAttribute CorPInvokeMap

Nom de la DLL
Aucun accesseur pour PInvokeMap pour les attributs de méthode/méthode globale ordinaires.

Aucun accesseur pour le nom de LA DLL.
GuidAttribute Stocké en tant qu’attribut personnalisé réel. Accessible en tant qu’attribut personnalisé réel.
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 Divers bits. Aucun accesseur.
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

Empaquetage de classe.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Aucun accesseur.
FieldOffsetAttribute Décalage de champ. Aucun accesseur.
AssemblyLoadAttribute CorAssemblyFlags Pas d’accesseur ou d’énumérateur.

S’applique à

.NET 10 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1