Assembly.GetCustomAttributes Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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.
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. |