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
| Nome | Descrizione |
|---|---|
| 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
Valori restituiti
Matrice che contiene gli attributi personalizzati per questo assembly.
Implementazioni
Commenti
Questo metodo implementa il metodo di interfaccia corrispondente ICustomAttributeProvider . 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 rimosso. Non è possibile accedere ad alcuni dei bit risultanti usando le API di reflection esistenti.
La tabella seguente riepiloga 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 | CorPInvokeMapNome 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. | Accesso 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().OLEConstructorInfo.GetMethodImplementationFlags().OLE |
| InAttribute | CorParamAttr.pdIn |
ParameterInfo.Attributes.In |
| OutAttribute | CorParamAttr.pdOut |
ParameterInfo.Attributes.Out |
| StructLayoutAttribute | CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdExplicitLayoutCorTypeAttr.tdAnsiClassCorTypeAttr.tdUnicodeClassCorTypeAttr.tdAutoClassClasse di compressione. |
Type.Attributes.LayoutSequentialType.Attributes.ExplicitLayoutType.Attributes.AnsiClassType.Attributes.UnicodeClassType.Attributes.AutoClassNessuna 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 il quale devono essere restituiti gli attributi personalizzati.
Valori restituiti
Matrice che contiene 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 interfaccia corrispondente ICustomAttributeProvider . 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 rimosso. Non è possibile accedere ad alcuni dei bit risultanti usando le API di reflection esistenti.
La tabella seguente riepiloga 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 | CorPInvokeMapNome 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. | Accesso 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().OLEConstructorInfo.GetMethodImplementationFlags().OLE |
| InAttribute | CorParamAttr.pdIn |
ParameterInfo.Attributes.In |
| OutAttribute | CorParamAttr.pdOut |
ParameterInfo.Attributes.Out |
| StructLayoutAttribute | CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdExplicitLayoutCorTypeAttr.tdAnsiClassCorTypeAttr.tdUnicodeClassCorTypeAttr.tdAutoClassClasse di compressione. |
Type.Attributes.LayoutSequentialType.Attributes.ExplicitLayoutType.Attributes.AnsiClassType.Attributes.UnicodeClassType.Attributes.AutoClassNessuna funzione di accesso. |
| FieldOffsetAttribute | Offset del campo. | Nessuna funzione di accesso. |
AssemblyLoadAttribute |
CorAssemblyFlags |
Nessuna funzione di accesso o enumeratore. |