ConstructorInfo.Invoke Methode

Definition

Ruft den Konstruktor auf, der von dieser Instanz reflektiert wird.Invokes the constructor reflected by this instance.

Überlädt

Invoke(Object[])

Ruft den Konstruktor auf, der von der Instanz reflektiert wird, die über die angegebenen Parameter verfügt, und stellt damit Standardwerte für die nicht häufig verwendeten Parameter bereit.Invokes the constructor reflected by the instance that has the specified parameters, providing default values for the parameters not commonly used.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Ruft bei der Implementierung in einer abgeleiteten Klasse den von dieser ConstructorInfo reflektierten Konstruktor mit den angegebenen Argumenten und gemäß den Einschränkungen des angegebenen Binder auf.When implemented in a derived class, invokes the constructor reflected by this ConstructorInfo with the specified arguments, under the constraints of the specified Binder.

Invoke(Object[])

Ruft den Konstruktor auf, der von der Instanz reflektiert wird, die über die angegebenen Parameter verfügt, und stellt damit Standardwerte für die nicht häufig verwendeten Parameter bereit.Invokes the constructor reflected by the instance that has the specified parameters, providing default values for the parameters not commonly used.

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);
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, das (unter den Einschränkungen des Standardbinders) Anzahl, Reihenfolge und Typ der Parameter für diesen Konstruktor entspricht.An array of values that matches the number, order and type (under the constraints of the default binder) of the parameters for this constructor. Wenn dieser Konstruktor keine Parameter akzeptiert, verwenden Sie entweder ein Array mit 0 Elementen oder null, wie in „Object[] parameters = new Object [0]“.If this constructor takes no parameters, then use either an array with zero elements or null, as in Object[] parameters = new Object[0]. Jedes Objekt im Array, das nicht explizit mit einem Wert initialisiert wird, wird den Standardwert für diesen Objekttyp enthalten.Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. Bei Verweistypelementen ist dieser Wert null.For reference-type elements, this value is null. Bei Werttypelementen ist dieser Wert je nach Typ des jeweiligen Elements 0, 0.0 oder false.For value-type elements, this value is 0, 0.0, or false, depending on the specific element type.

Gibt zurück

Eine Instanz der Klasse, die dem Konstruktor zugeordnet ist.An instance of the class associated with the constructor.

Ausnahmen

Die Klasse ist abstrakt.The class is abstract.

Oder-or-

Der Konstruktor ist ein Klasseninitialisierer.The constructor is a class initializer.

Fangen Sie in .NET für Windows Store-Apps oder der portablen Klassenbibliothek stattdessen die Basisklassenausnahme MemberAccessException ab.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

Der Konstruktor ist privat oder geschützt, und dem Aufrufer fehlt MemberAccess.The constructor is private or protected, and the caller lacks MemberAccess.

Das parameters-Array enthält keine Werte, die den von diesem Konstruktor akzeptierten Typen entsprechen.The parameters array does not contain values that match the types accepted by this constructor.

Der aufgerufene Konstruktor löst eine Ausnahme aus.The invoked constructor throws an exception.

Es wurde eine falsche Anzahl von Parametern übergeben.An incorrect number of parameters was passed.

Erstellen von TypedReference-, ArgIterator- und RuntimeArgumentHandle-Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, and RuntimeArgumentHandle types is not supported.

Der Aufrufer verfügt nicht über die notwendigen Zugriffsberechtigungen für den Code.The caller does not have the necessary code access permission.

Hinweise

Anzahl, Typ und Reihenfolge der Elemente im parameters Array müssen mit der Anzahl, dem Typ und der Reihenfolge der Parameter für den Konstruktor identisch sein, der von dieser Instanz reflektiert wird.The number, type, and order of elements in the parameters array should be identical to the number, type, and order of parameters for the constructor reflected by this instance. Vor dem Aufrufen des Konstruktors stellt Invoke sicher, dass der Aufrufer über Zugriffsberechtigungen verfügt und überprüft, ob die Parameter gültig sind.Before calling the constructor, Invoke ensures that the caller has access permission and verifies that the parameters are valid.

Zugriffs Einschränkungen werden bei voll vertrauenswürdigem Code ignoriert.Access restrictions are ignored for fully trusted code. Das heißt, Private Konstruktoren, Methoden, Felder und Eigenschaften können aufgerufen und mithilfe von Reflektion aufgerufen werden, wenn der Code vollständig vertrauenswürdig ist.That is, private constructors, methods, fields, and properties can be accessed and invoked using reflection whenever the code is fully trusted.

Hinweis

Verwenden Sie die CreateInstance-Methode, um eine Instanz eines Werttyps zu erstellen, der über keine Instanzkonstruktoren verfügt.To create an instance of a value type that has no instance constructors, use the CreateInstance method.

Diese Methode ist eine bequeme Methode für die folgende überladene Version, die Standardwerte verwendet.This method is a convenience method for the following overloaded version, using default values. Diese Methode kann nicht überschrieben werden.This method cannot be overridden.

Hinweis

Beginnend mit dem .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1kann diese Methode verwendet werden, um auf nicht öffentliche Member zuzugreifen, wenn dem Aufrufer ReflectionPermission mit dem ReflectionPermissionFlag.RestrictedMemberAccess-Flag erteilt wurde, und wenn der Berechtigungs Satz der nicht öffentlichen Member auf den Berechtigungs Satz des Aufrufers oder auf eine Teilmenge beschränkt ist.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access non-public members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Ruft bei der Implementierung in einer abgeleiteten Klasse den von dieser ConstructorInfo reflektierten Konstruktor mit den angegebenen Argumenten und gemäß den Einschränkungen des angegebenen Binder auf.When implemented in a derived class, invokes the constructor reflected by this ConstructorInfo with the specified arguments, under the constraints of the specified 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);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj

Parameter

invokeAttr
BindingFlags

Einer der BindingFlags-Werte, der den Typ der Bindung angibt.One of the BindingFlags values that specifies the type of binding.

binder
Binder

Ein Binder, der eine Gruppe von Eigenschaften definiert und die Bindung, die Umwandlung der Argumenttypen sowie das Aufrufen von Membern mithilfe der Reflektion ermöglicht.A Binder that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Wenn binder den Wert null hat, wird Binder.DefaultBinding verwendet.If binder is null, then Binder.DefaultBinding is used.

parameters
Object[]

Ein Array vom Typ Object, das zum Abgleichen der Anzahl, der Reihenfolge und des Typs der Parameter für diesen Konstruktor verwendet wird, und dabei gemäß den Einschränkungen von binder vorgeht.An array of type Object used to match the number, order and type of the parameters for this constructor, under the constraints of binder. Wenn für diesen Konstruktor keine Parameter erforderlich sind, übergeben Sie ein Array mit 0 Elementen, wie in Object[] parameters = new Object[0].If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Jedes Objekt im Array, das nicht explizit mit einem Wert initialisiert wird, wird den Standardwert für diesen Objekttyp enthalten.Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. Bei Verweistypelementen ist dieser Wert null.For reference-type elements, this value is null. Bei Werttypelementen ist dieser Wert je nach Typ des jeweiligen Elements 0, 0.0 oder false.For value-type elements, this value is 0, 0.0, or false, depending on the specific element type.

culture
CultureInfo

Eine CultureInfo für die Steuerung der Koersion von Typen.A CultureInfo used to govern the coercion of types. Wenn dies nullist, wird die CultureInfo des aktuellen Threads verwendet.If this is null, the CultureInfo for the current thread is used.

Gibt zurück

Eine Instanz der Klasse, die dem Konstruktor zugeordnet ist.An instance of the class associated with the constructor.

Ausnahmen

Das parameters-Array enthält keine Werte, die den von diesem Konstruktor akzeptierten Typen gemäß den Einschränkungen des binder entsprechen.The parameters array does not contain values that match the types accepted by this constructor, under the constraints of the binder.

Der aufgerufene Konstruktor löst eine Ausnahme aus.The invoked constructor throws an exception.

Es wurde eine falsche Anzahl von Parametern übergeben.An incorrect number of parameters was passed.

Erstellen von TypedReference-, ArgIterator- und RuntimeArgumentHandle-Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, and RuntimeArgumentHandle types is not supported.

Der Aufrufer verfügt nicht über die notwendigen Zugriffsberechtigungen für den Code.The caller does not have the necessary code access permissions.

Die Klasse ist abstrakt.The class is abstract.

Oder-or-

Der Konstruktor ist ein Klasseninitialisierer.The constructor is a class initializer.

Der Konstruktor ist privat oder geschützt, und dem Aufrufer fehlt MemberAccess.The constructor is private or protected, and the caller lacks MemberAccess.

Hinweise

Anzahl, Typ und Reihenfolge der Elemente im parameters Array müssen mit der Anzahl, dem Typ und der Reihenfolge der Parameter für den Konstruktor identisch sein, der von dieser Instanz reflektiert wird.The number, type, and order of elements in the parameters array should be identical to the number, type, and order of parameters for the constructor reflected by this instance.

Vor dem Aufrufen des Konstruktors stellt Invoke sicher, dass der Aufrufer über Zugriffsberechtigungen verfügt und dass die Parameter die richtige Anzahl, Reihenfolge und denselben Typ haben.Before calling the constructor, Invoke ensures that the caller has access permission and that the parameters are of the correct number, order and type.

Zugriffs Einschränkungen werden bei voll vertrauenswürdigem Code ignoriert.Access restrictions are ignored for fully trusted code. Das heißt, Private Konstruktoren, Methoden, Felder und Eigenschaften können aufgerufen und mithilfe von Reflektion aufgerufen werden, wenn der Code vollständig vertrauenswürdig ist.That is, private constructors, methods, fields, and properties can be accessed and invoked using reflection whenever the code is fully trusted.

Hinweis

Verwenden Sie die CreateInstance-Methode, um eine Instanz eines Werttyps zu erstellen, der über keine Instanzkonstruktoren verfügt.To create an instance of a value type that has no instance constructors, use the CreateInstance method.

Hinweis

Beginnend mit dem .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1kann diese Methode verwendet werden, um auf nicht öffentliche Member zuzugreifen, wenn dem Aufrufer ReflectionPermission mit dem ReflectionPermissionFlag.RestrictedMemberAccess-Flag erteilt wurde, und wenn der Berechtigungs Satz der nicht öffentlichen Member auf den Berechtigungs Satz des Aufrufers oder auf eine Teilmenge beschränkt ist.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access non-public members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Siehe auch

Gilt für: