ConstructorInfo.Invoke 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.
Ruft den von dieser Instanz wiedergegebenen Konstruktor auf.
Überlädt
| Name | Beschreibung |
|---|---|
| Invoke(Object[]) |
Ruft den Konstruktor auf, der von der Instanz mit den angegebenen Parametern reflektiert wird und Standardwerte für die Parameter bereitstellt, die nicht häufig verwendet werden. |
| Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird der Konstruktor aufgerufen, der durch |
Invoke(Object[])
- Quelle:
- ConstructorInfo.cs
- Quelle:
- ConstructorInfo.cs
- Quelle:
- ConstructorInfo.cs
- Quelle:
- ConstructorInfo.cs
- Quelle:
- ConstructorInfo.cs
Ruft den Konstruktor auf, der von der Instanz mit den angegebenen Parametern reflektiert wird und Standardwerte für die Parameter bereitstellt, die nicht häufig verwendet werden.
public:
virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke(object[] parameters);
public object Invoke(object?[]? parameters);
public object Invoke(object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object
Parameter
- parameters
- Object[]
Ein Array von Werten, die der Anzahl, Reihenfolge und Typ (unter den Einschränkungen des Standardordners) der Parameter für diesen Konstruktor entsprechen. Wenn dieser Konstruktor keine Parameter akzeptiert, verwenden Sie entweder ein Array mit Nullelementen oder null, wie in Object[] Parameter = new Object[0]. Jedes Objekt in diesem Array, das nicht explizit mit einem Wert initialisiert wird, enthält den Standardwert für diesen Objekttyp. Für Referenztypelemente ist nulldieser Wert . Bei Werttypelementen ist dieser Wert abhängig vom jeweiligen Elementtyp 0, 0,0 oder false.
Gibt zurück
Eine Instanz der Klasse, die dem Konstruktor zugeordnet ist.
Ausnahmen
Die Klasse ist abstrakt.
- oder -
Der Konstruktor ist ein Klasseninitialisierer.
Der Konstruktor ist privat oder geschützt, und der Aufrufer fehlt MemberAccess.
Das parameters Array enthält keine Werte, die den von diesem Konstruktor akzeptierten Typen entsprechen.
Der aufgerufene Konstruktor löst eine Ausnahme aus.
Es wurde eine falsche Anzahl von Parametern übergeben.
Das Erstellen von TypedReference, ArgIteratorund RuntimeArgumentHandle Typen wird nicht unterstützt.
Der Aufrufer verfügt nicht über die erforderliche Codezugriffsberechtigung.
Hinweise
Die Anzahl, Typ und Reihenfolge von Elementen im parameters Array sollte mit der Zahl, dem Typ und der Reihenfolge der Parameter für den Konstruktor identisch sein, die von dieser Instanz widerzuspiegeln sind. Stellen Sie vor dem Aufrufen des Konstruktors sicher, Invoke dass der Aufrufer über Zugriffsberechtigungen verfügt, und überprüft, ob die Parameter gültig sind.
Zugriffsbeschränkungen werden für voll vertrauenswürdigen Code ignoriert. Das heißt, auf private Konstruktoren, Methoden, Felder und Eigenschaften kann mithilfe der Spiegelung zugegriffen und aufgerufen werden, wenn der Code vollständig vertrauenswürdig ist.
Note
Verwenden Sie die CreateInstance Methode, um eine Instanz eines Werttyps zu erstellen, der keine Instanzkonstruktoren enthält.
Diese Methode ist eine Komfortmethode für die folgende überladene Version mit Standardwerten. Diese Methode kann nicht außer Kraft gesetzt werden.
Note
Diese Methode kann verwendet werden, um auf nicht öffentliche Member zuzugreifen, wenn der Aufrufer mit der ReflectionPermission Kennzeichnung erteilt ReflectionPermissionFlag.RestrictedMemberAccess wurde und wenn der Grant-Satz der nicht öffentlichen Mitglieder auf den Grant-Satz des Aufrufers oder eine Teilmenge davon beschränkt ist. (Siehe Sicherheitsüberlegungen zur Reflexion.)
Gilt für:
Invoke(BindingFlags, Binder, Object[], CultureInfo)
- Quelle:
- ConstructorInfo.cs
- Quelle:
- ConstructorInfo.cs
- Quelle:
- ConstructorInfo.cs
- Quelle:
- ConstructorInfo.cs
- Quelle:
- ConstructorInfo.cs
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird der Konstruktor aufgerufen, der durch ConstructorInfo diese mit den angegebenen Argumenten unter den Einschränkungen des angegebenen angegeben wird Binder.
public:
abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public abstract object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parameter
- invokeAttr
- BindingFlags
Einer der BindingFlags Werte, der den Typ der Bindung angibt.
- binder
- Binder
A Binder that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Ist binder dies nullder Wert , wird Binder.DefaultBinding verwendet.
- parameters
- Object[]
Ein Array vom Typ Object , das verwendet wird, um die Anzahl, Die Reihenfolge und den Typ der Parameter für diesen Konstruktor unter den Einschränkungen von binder. Wenn dieser Konstruktor keine Parameter erfordert, übergeben Sie ein Array mit null Elementen, wie in Object[] Parameters = new Object[0]. Jedes Objekt in diesem Array, das nicht explizit mit einem Wert initialisiert wird, enthält den Standardwert für diesen Objekttyp. Für Referenztypelemente ist nulldieser Wert . Bei Werttypelementen ist dieser Wert abhängig vom jeweiligen Elementtyp 0, 0,0 oder false.
- culture
- CultureInfo
A CultureInfo used to govern the coercion of types. Wenn dies der Fall ist null, wird der CultureInfo aktuelle Thread verwendet.
Gibt zurück
Eine Instanz der Klasse, die dem Konstruktor zugeordnet ist.
Ausnahmen
Das parameters Array enthält keine Werte, die den von diesem Konstruktor akzeptierten Typen entsprechen, unter den Einschränkungen der binder.
Der aufgerufene Konstruktor löst eine Ausnahme aus.
Es wurde eine falsche Anzahl von Parametern übergeben.
Das Erstellen von TypedReference, ArgIteratorund RuntimeArgumentHandle Typen wird nicht unterstützt.
Der Aufrufer verfügt nicht über die erforderlichen Codezugriffsberechtigungen.
Die Klasse ist abstrakt.
- oder -
Der Konstruktor ist ein Klasseninitialisierer.
Der Konstruktor ist privat oder geschützt, und der Aufrufer fehlt MemberAccess.
Hinweise
Die Anzahl, Typ und Reihenfolge von Elementen im parameters Array sollte mit der Zahl, dem Typ und der Reihenfolge der Parameter für den Konstruktor identisch sein, die von dieser Instanz widerzuspiegeln sind.
Stellen Sie vor dem Aufrufen des Konstruktors sicher, Invoke dass der Aufrufer über Zugriffsberechtigungen verfügt und dass die Parameter die richtige Nummer, Reihenfolge und Typ aufweisen.
Zugriffsbeschränkungen werden für voll vertrauenswürdigen Code ignoriert. Das heißt, auf private Konstruktoren, Methoden, Felder und Eigenschaften kann mithilfe der Spiegelung zugegriffen und aufgerufen werden, wenn der Code vollständig vertrauenswürdig ist.
Note
Verwenden Sie die CreateInstance Methode, um eine Instanz eines Werttyps zu erstellen, der keine Instanzkonstruktoren enthält.
Note
Diese Methode kann verwendet werden, um auf nicht öffentliche Member zuzugreifen, wenn der Aufrufer mit der ReflectionPermission Kennzeichnung erteilt ReflectionPermissionFlag.RestrictedMemberAccess wurde und wenn der Grant-Satz der nicht öffentlichen Mitglieder auf den Grant-Satz des Aufrufers oder eine Teilmenge davon beschränkt ist. (Siehe Security Considerations for Reflection.) Um diese Funktionalität zu verwenden, sollte Ihre Anwendung auf .NET Framework 3.5 oder höher abzielen.