Assembly.GetCustomAttributes Metodo

Definizione

Ottiene gli attributi personalizzati per questo assembly.

Overload

GetCustomAttributes(Boolean)

Ottiene tutti gli attributi personalizzati per questo assembly.

GetCustomAttributes(Type, Boolean)

Ottiene gli attributi personalizzati per questo assembly, come specificato dal tipo.

GetCustomAttributes(Boolean)

Ottiene tutti gli attributi personalizzati per questo 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()

Parametri

inherit
Boolean

Questo argomento viene ignorato per gli oggetti di tipo Assembly.

Restituisce

Object[]

Matrice contenente gli attributi personalizzati per questo assembly.

Implementazioni

Commenti

Questo metodo implementa il metodo di ICustomAttributeProvider interfaccia corrispondente. Pertanto, il inherit parametro deve essere specificato anche se viene ignorato.

Uno pseudo-attributo indica i bit dei metadati di base che devono essere impostati quando l'attributo è presente. A differenza di un attributo personalizzato che estende i metadati per un tipo e viene salvato insieme al tipo, uno pseudo-attributo modifica i metadati per il tipo e quindi viene eliminato. Non è possibile accedere ad alcuni dei bit risultanti usando LE API di reflection esistenti.

Nella tabella seguente sono riepilogati i diversi pseudo-attributi e le funzioni di accesso per i bit disponibili nella reflection.

Pseudo-Attribute Bit di metadati Funzione di accesso reflection
DllImportAttribute CorPInvokeMap

Nome DLL
Nessuna funzione di accesso per PInvokeMap gli attributi ordinari del metodo/metodo globale.

Nessuna funzione di accesso per il nome della DLL.
GuidAttribute Archiviato come attributo personalizzato reale. Accesso eseguito come attributo personalizzato reale.
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 Vari bit. Nessuna funzione di accesso.
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

Creazione di un pacchetto di classi.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Nessuna funzione di accesso.
FieldOffsetAttribute Offset del campo. Nessuna funzione di accesso.
AssemblyLoadAttribute CorAssemblyFlags Nessuna funzione di accesso o enumeratore.

Si applica a

GetCustomAttributes(Type, Boolean)

Ottiene gli attributi personalizzati per questo assembly, come specificato dal tipo.

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

Parametri

attributeType
Type

Tipo per cui restituire gli attributi personalizzati.

inherit
Boolean

Questo argomento viene ignorato per gli oggetti di tipo Assembly.

Restituisce

Object[]

Matrice contenente gli attributi personalizzati per questo assembly, come specificato da attributeType.

Implementazioni

Eccezioni

attributeType è null.

attributeType non è un tipo di runtime.

Commenti

Questo metodo implementa il metodo di ICustomAttributeProvider interfaccia corrispondente. Pertanto, il inherit parametro deve essere specificato anche se viene ignorato.

Uno pseudo-attributo indica i bit dei metadati principali che devono essere impostati quando l'attributo è presente. A differenza di un attributo personalizzato che estende i metadati per un tipo e viene salvato insieme al tipo, uno pseudo-attributo modifica i metadati per il tipo e quindi viene eliminato. Non è possibile accedere ad alcuni dei bit risultanti usando le API di reflection esistenti.

Nella tabella seguente vengono riepilogati i diversi pseudo-attributi e le funzioni di accesso per i bit disponibili nella reflection.

Pseudo-Attribute Bit di metadati Funzione di accesso reflection
DllImportAttribute CorPInvokeMap

Nome DLL
Nessuna funzione di accesso per PInvokeMap gli attributi normali del metodo o del metodo globale.

Nessuna funzione di accesso per il nome della DLL.
GuidAttribute Archiviato come attributo personalizzato reale. Accessibile come attributo personalizzato reale.
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 Vari bit. Nessuna funzione di accesso.
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

Creazione di un pacchetto di classi.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Nessuna funzione di accesso.
FieldOffsetAttribute Offset del campo. Nessuna funzione di accesso.
AssemblyLoadAttribute CorAssemblyFlags Nessuna funzione di accesso o enumeratore.

Si applica a