Type.GetConstructorImpl 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.
In caso di override in una classe derivata, cerca un costruttore i cui parametri corrispondono ai tipi di argomento e ai modificatori specificati, utilizzando i vincoli di associazione specificati e la convenzione di chiamata specificata.
protected:
abstract System::Reflection::ConstructorInfo ^ GetConstructorImpl(System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)]
protected abstract System.Reflection.ConstructorInfo? GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.ConstructorInfo GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected abstract System.Reflection.ConstructorInfo? GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)>]
abstract member GetConstructorImpl : System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.ConstructorInfo
abstract member GetConstructorImpl : System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.ConstructorInfo
Protected MustOverride Function GetConstructorImpl (bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As ConstructorInfo
Parametri
- bindingAttr
- BindingFlags
Combinazione bit per bit dei valori di enumerazione che specificano come viene eseguita la ricerca.
oppure
Default per restituire null.
- binder
- Binder
Oggetto che definisce un set di proprietà e abilita l'associazione, che può comportare la selezione di un metodo di overload, la coercizione dei tipi di argomento e la chiamata di un membro tramite reflection.
oppure
Riferimento Null (Nothing in Visual Basic), per usare il DefaultBinder.
- callConvention
- CallingConventions
Oggetto che specifica il set di regole da utilizzare per quanto riguarda l'ordine e il layout degli argomenti, il modo in cui viene passato il valore restituito, i registri usati per gli argomenti e lo stack viene pulito.
- types
- Type[]
Matrice di Type oggetti che rappresentano il numero, l'ordine e il tipo dei parametri per il costruttore da ottenere.
oppure
Matrice vuota del tipo Type ,ovvero Type[] types = new Type[0]) per ottenere un costruttore che non accetta parametri.
- modifiers
- ParameterModifier[]
Matrice di ParameterModifier oggetti che rappresentano gli attributi associati all'elemento corrispondente nella types matrice. Il gestore di associazione predefinito non elabora questo parametro.
Valori restituiti
Oggetto ConstructorInfo che rappresenta il costruttore che soddisfa i requisiti specificati, se presente; in caso contrario, null.
- Attributi
Eccezioni
types è multidimensionale.
oppure
modifiers è multidimensionale.
oppure
types e modifiers non hanno la stessa lunghezza.
Il tipo corrente è o TypeBuilderGenericTypeParameterBuilder.
Commenti
Anche se il binder predefinito non elabora ParameterModifier (il parametro modifiers), è possibile usare la classe astratta System.Reflection.Binder per scrivere un binder personalizzato che esegue l'elaborazione di modifiers.
ParameterModifier viene utilizzato solo quando si esegue la chiamata tramite interoperabilità COM e vengono gestiti solo i parametri passati per riferimento.
Se non esiste una corrispondenza esatta, tenterà binder di coercire i tipi di parametro specificati nella types matrice per selezionare una corrispondenza. Se non binder è possibile selezionare una corrispondenza, null viene restituito .
I flag di filtro seguenti BindingFlags possono essere usati per definire i costruttori da includere nella ricerca:
È necessario specificare
BindingFlags.InstanceoBindingFlags.Staticper ottenere un ritorno.Specificare
BindingFlags.Publicper includere costruttori pubblici nella ricerca.Specificare
BindingFlags.NonPublicdi includere costruttori non pubblici (ovvero costruttori privati, interni e protetti) nella ricerca.
Per altre informazioni, vedere System.Reflection.BindingFlags.
Questo metodo implementa GetConstructor.