Type.GetConstructorImpl Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird nach einem Konstruktor gesucht, dessen Parameter den angegebenen Argumenttypen und Modifizierern entsprechen, wobei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention verwendet werden.
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
Parameter
- bindingAttr
- BindingFlags
Eine bitweise Kombination der Enumerationswerte, die angeben, wie die Suche durchgeführt wird.
-oder-
Default zurückzugeben null.
- binder
- Binder
Ein Objekt, das eine Reihe von Eigenschaften definiert und die Bindung ermöglicht, was die Auswahl einer überladenen Methode, die Koersion von Argumenttypen und den Aufruf eines Elements durch Spiegelung umfassen kann.
-oder-
Ein Nullverweis (Nothing in Visual Basic), um die DefaultBinder zu verwenden.
- callConvention
- CallingConventions
Das Objekt, das den Satz von Regeln angibt, die für die Reihenfolge und das Layout von Argumenten verwendet werden sollen, wie der Rückgabewert übergeben wird, welche Register für Argumente verwendet werden, und der Stapel wird bereinigt.
- types
- Type[]
Ein Array von Type Objekten, die die Anzahl, Reihenfolge und den Typ der Parameter für den Konstruktor abrufen.
-oder-
Ein leeres Array des Typs Type (d. h. Type[] types = new Type[0]), um einen Konstruktor abzurufen, der keine Parameter akzeptiert.
- modifiers
- ParameterModifier[]
Ein Array von ParameterModifier Objekten, die die Attribute darstellen, die dem entsprechenden Element im types Array zugeordnet sind. Der Standardordner verarbeitet diesen Parameter nicht.
Gibt zurück
Ein ConstructorInfo Objekt, das den Konstruktor darstellt, der den angegebenen Anforderungen entspricht, falls gefunden; andernfalls . null
- Attribute
Ausnahmen
types ist multidimensional.
-oder-
modifiers ist multidimensional.
-oder-
types und modifiers haben nicht dieselbe Länge.
Der aktuelle Typ ist ein TypeBuilder oder GenericTypeParameterBuilder.
Hinweise
Obwohl der Standard-Binder ParameterModifier (den modifiers Parameter) nicht verarbeitet, können Sie die abstrakte System.Reflection.Binder Klasse verwenden, um einen benutzerdefinierten Binder zu schreiben, der modifiers verarbeitet.
ParameterModifier wird nur verwendet, wenn der Aufruf über die COM-Interoperabilität erfolgt, und nur Parameter, die als Referenz übergeben werden, werden behandelt.
Wenn keine genaue Übereinstimmung vorhanden ist, versucht der Versuch, die binder im types Array angegebenen Parametertypen zu koerzen, um eine Übereinstimmung auszuwählen. Wenn die binder Übereinstimmung nicht ausgewählt werden kann, wird sie null zurückgegeben.
Die folgenden BindingFlags Filterkennzeichnungen können verwendet werden, um zu definieren, welche Konstruktoren in die Suche einbezogen werden sollen:
Sie müssen entweder
BindingFlags.InstanceoderBindingFlags.Staticangeben, um eine Rückgabe zu erhalten.Geben Sie an
BindingFlags.Public, dass öffentliche Konstruktoren in die Suche einbezogen werden sollen.Geben Sie an
BindingFlags.NonPublic, dass nicht öffentliche Konstruktoren (d. h. private, interne und geschützte Konstruktoren) in die Suche einbezogen werden sollen.
Weitere Informationen finden Sie unter System.Reflection.BindingFlags.
Diese Methode implementiert GetConstructor.