Freigeben über


TypeBuilder.InvokeMember Methode

Definition

Ruft den angegebenen Member auf. Die Methode, die aufgerufen werden soll, muss zugänglich sein und mit der angegebenen Argumentliste unter den Einschränkungen des angegebenen Binders und der Aufrufattribute die spezifischste Übereinstimmung bereitstellen.

public:
 override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object? InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object? target, object?[]? args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? namedParameters);
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object

Parameter

name
String

Der Name des aufzurufenden Members. Dies kann ein Konstruktor, eine Methode, eine Eigenschaft oder ein Feld sein. Es muss ein geeignetes Aufrufattribut angegeben werden. Beachten Sie, dass es möglich ist, den Standardmember einer Klasse aufzurufen, indem Sie eine leere Zeichenfolge als Name des Members übergeben.

invokeAttr
BindingFlags

Das Attribut für den Aufruf. Dies muss ein Bitflag aus BindingFlags sein.

binder
Binder

Ein Objekt, das die Bindung, die Umwandlung von Argumenttypen, das Aufrufen von Membern und das Abrufen von MemberInfo-Objekten über Reflektion ermöglicht. Wenn „binder“ gleich nullist, wird der Standardbinder verwendet. Siehe Binder.

target
Object

Das Objekt, für das der angegebene Member aufgerufen werden soll. Wenn der Member statisch ist, wird dieser Parameter ignoriert.

args
Object[]

Eine Argumentliste. Dies ist ein Array von Objekten, das die Anzahl, Reihenfolge und den Typ der Parameter des aufzurufenden Members enthält. Wenn keine Parameter vorhanden sind, muss dies gleich NULL sein.

modifiers
ParameterModifier[]

Ein Array derselben Länge wie args mit Elementen, die die Argumente darstellen, die den Argumenten des aufzurufenden Members zugeordnet sind. Ein Parameter verfügt über Attribute, die ihm in den Metadaten zugeordnet werden. Sie werden von verschiedenen Interoperabilitätsdiensten verwendet. Weitere Informationen finden Sie in den Metadatenspezifikationen.

culture
CultureInfo

Eine Instanz von CultureInfo für die Steuerung der Umwandlung von Typen. Ist diese gleich NULL, wird das CultureInfo -Objekt des aktuellen Threads verwendet. (Dies ist z. B. erforderlich, um eine Zeichenfolge, die 1000 darstellt, in einen Double-Wert zu konvertieren, da 1000 in verschiedenen Kulturen unterschiedlich dargestellt wird.)

namedParameters
String[]

Jeder Parameter im namedParameters-Array ruft den Wert im entsprechenden Element im args-Array ab. Wenn die Länge von args größer als die Länge von namedParameters ist, werden die restlichen Argumentwerte in der Reihenfolge übergeben.

Gibt zurück

Gibt den Rückgabewert des aufgerufenen Members zurück.

Ausnahmen

Diese Methode wird bei unvollständigen Typen derzeit nicht unterstützt.

Hinweise

Eine Methode wird aufgerufen, wenn die Anzahl der Parameter in der Methodendeklaration gleich der Anzahl der Argumente in der angegebenen Argumentliste ist und der Typ jedes Arguments vom Binder in den Typ des Parameters konvertiert werden kann.

Der Binder findet alle übereinstimmenden Methoden. Diese Methoden werden basierend auf dem angeforderten Bindungstyp gefunden (BindingFlags.InvokeMethod, BindingFlags.GetProperties usw.). Der Satz von Methoden wird nach dem Namen, der Anzahl der Argumente und einer Reihe von Suchmodifizierern gefiltert, die im Binder definiert sind. Nachdem die Methode ausgewählt wurde, wird sie aufgerufen. Die Barrierefreiheit wird an diesem Punkt überprüft. Die Suche kann steuern, welche Methoden basierend auf dem der Methode zugeordneten Barrierefreiheitsattribut durchsucht werden. Die IBinder.BindToMethod -Methode ist für die Auswahl der methode verantwortlich, die aufgerufen werden soll. Der Standardbinder wählt die spezifischste Übereinstimmung aus.

Hinweis

Zugriffsbeschränkungen werden für vollständig vertrauenswürdigen Code ignoriert. Das heißt, private Konstruktoren, Methoden, Felder und Eigenschaften können mithilfe von Reflektion aufgerufen und aufgerufen werden, wenn der Code vollständig vertrauenswürdig ist.

Diese Methode wird zurzeit nicht unterstützt. Sie können den Typ mit Type.GetType oder Assembly.GetType abrufen und reflektion für den abgerufenen Typ verwenden.

Gilt für: