Udostępnij za pośrednictwem


TypeBuilder.InvokeMember Metoda

Definicja

Wywołuje określony element członkowski. Wywoływana metoda musi być dostępna i zapewnić najbardziej specyficzne dopasowanie z określoną listą argumentów w ramach ograniczeń określonych atrybutów powiązania i wywołania.

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

Parametry

name
String

Nazwa elementu członkowskiego do wywołania. Może to być konstruktor, metoda, właściwość lub pole. Należy określić odpowiedni atrybut wywołania. Należy pamiętać, że można wywołać domyślny element członkowski klasy, przekazując pusty ciąg jako nazwę elementu członkowskiego.

invokeAttr
BindingFlags

Atrybut wywołania. Musi to być flaga bitowa z BindingFlags.

binder
Binder

Obiekt, który umożliwia powiązanie, przymus typów argumentów, wywołanie elementów członkowskich i pobieranie obiektów przy użyciu odbicia MemberInfo . Jeśli element binder to null, jest używany domyślny binder. Zobacz: .

target
Object

Obiekt, na którym ma wywołać określony element członkowski. Jeśli element członkowski jest statyczny, ten parametr jest ignorowany.

args
Object[]

Lista argumentów. Jest to tablica obiektów, która zawiera liczbę, kolejność i typ parametrów elementu członkowskiego do wywołania. Jeśli nie ma parametrów, powinno to mieć wartość null.

modifiers
ParameterModifier[]

Tablica o tej samej długości co args elementy reprezentujące atrybuty skojarzone z argumentami elementu członkowskiego do wywołania. Parametr zawiera atrybuty skojarzone z nim w metadanych. Są one używane przez różne usługi współdziałania. Aby uzyskać więcej informacji, zobacz specyfikacje metadanych.

culture
CultureInfo

Wystąpienie CultureInfo używane do zarządzania przymusem typów. Jeśli jest to wartość null, CultureInfo jest używany element dla bieżącego wątku. (Należy pamiętać, że jest to konieczne, na przykład przekonwertowanie ciągu, który reprezentuje wartość 1000 na wartość Podwójna, ponieważ 1000 jest reprezentowane inaczej przez różne kultury).

namedParameters
String[]

Każdy parametr w tablicy namedParameters pobiera wartość w odpowiednim elemecie w tablicy args . Jeśli długość parametru args jest większa niż długość , pozostałe wartości argumentów namedParameterssą przekazywane w kolejności.

Zwraca

Zwraca zwracaną wartość wywoływanego elementu członkowskiego.

Wyjątki

Ta metoda nie jest obecnie obsługiwana w przypadku niekompletnych typów.

Uwagi

Metoda zostanie wywołana, jeśli liczba parametrów w deklaracji metody jest równa liczbie argumentów na określonej liście argumentów, a typ każdego argumentu można przekonwertować przez binder na typ parametru.

Binder znajdzie wszystkie pasujące metody. Te metody można znaleźć na podstawie typu żądanego powiązania (BindingFlags.InvokeMethod, BindingFlags.GetProperties itd.). Zestaw metod jest filtrowany według nazwy, liczby argumentów i zestawu modyfikatorów wyszukiwania zdefiniowanych w binderze. Po wybraniu metody zostanie wywołana. Dostępność jest sprawdzana w tym momencie. Wyszukiwanie może kontrolować, który zestaw metod jest przeszukiwany na podstawie atrybutu ułatwień dostępu skojarzonego z metodą. Metoda IBinder.BindToMethod jest odpowiedzialna za wybranie metody do wywołania. Domyślny binder wybiera najbardziej specyficzne dopasowanie.

Uwaga

Ograniczenia dostępu są ignorowane dla w pełni zaufanego kodu. Oznacza to, że dostęp do prywatnych konstruktorów, metod, pól i właściwości można uzyskać i wywołać przy użyciu odbicia za każdym razem, gdy kod jest w pełni zaufany.

Ta metoda nie jest obecnie obsługiwana. Typ można pobrać przy użyciu metody Type.GetType lub Assembly.GetType i użyć odbicia dla pobranego typu.

Dotyczy