Sdílet prostřednictvím


TypeBuilder.InvokeMember Metoda

Definice

Vyvolá zadaný člen. Metoda, která má být vyvolána, musí být přístupná a poskytnout nejkonvlastnější shodu se zadaným seznamem argumentů v rámci omezení zadaného pořadače a atributů volání.

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

Název člena, který se má vyvolat. Může se jednat o konstruktor, metodu, vlastnost nebo pole. Musí být zadán vhodný atribut vyvolání. Všimněte si, že je možné vyvolat výchozí člen třídy předáním prázdného řetězce jako názvu členu.

invokeAttr
BindingFlags

Atribut vyvolání. Musí to být bitový příznak z BindingFlags.

binder
Binder

Objekt, který umožňuje vazbu, vynucování typů argumentů, vyvolání členů a načtení MemberInfo objektů pomocí reflexe. Pokud je nullpořadač , použije se výchozí pořadač. Viz třída Binder.

target
Object

Objekt, na kterém se má vyvolat zadaný člen. Pokud je člen statický, je tento parametr ignorován.

args
Object[]

Seznam argumentů. Toto je pole objektů, které obsahuje počet, pořadí a typ parametrů členu, který má být vyvolán. Pokud neexistují žádné parametry, měl by mít hodnotu null.

modifiers
ParameterModifier[]

Pole stejné délky jako args s prvky, které představují atributy spojené s argumenty členu, který má být vyvolán. Parametr má v metadatech přidružené atributy. Používají je různé služby interoperability. Další podrobnosti najdete ve specifikacích metadat.

culture
CultureInfo

Instance CultureInfo slouží k řízení převodu typů. Pokud má hodnotu null, CultureInfo použije se pro aktuální vlákno . (Všimněte si, že je to nutné například k převodu řetězce, který představuje hodnotu 1000, na hodnotu Double, protože hodnota 1000 je reprezentována různými jazykovými verzemi.)

namedParameters
String[]

Každý parametr v namedParameters poli získá hodnotu v odpovídajícím prvku v args poli. Pokud je délka args parametru větší než délka parametru namedParameters, předají se zbývající hodnoty argumentů v pořadí.

Návraty

Vrátí vrácenou hodnotu vyvolaného členu.

Výjimky

Tato metoda není v současné době podporována pro neúplné typy.

Poznámky

Metoda bude vyvolána, pokud se počet parametrů v deklaraci metody rovná počtu argumentů v zadaném seznamu argumentů a typ každého argumentu může být převeden pořadačem na typ parametru.

Pořadač najde všechny odpovídající metody. Tyto metody se nacházejí na základě typu požadované vazby (BindingFlags.InvokeMethod, BindingFlags.GetProperties atd.). Sada metod je filtrována podle názvu, počtu argumentů a sady modifikátorů vyhledávání definovaných v pořadači. Jakmile vyberete metodu, bude vyvolána. V tomto okamžiku je zaškrtnuté políčko Přístupnost. Hledání může řídit, která sada metod se prohledá na základě atributu přístupnosti přidruženého k metodě. Metoda IBinder.BindToMethod zodpovídá za výběr metody, která se má vyvolat. Výchozí pořadač vybere nejkonseifnější shodu.

Poznámka

Omezení přístupu jsou ignorována pro plně důvěryhodný kód. To znamená, že k soukromým konstruktorům, metodám, polím a vlastnostem je možné přistupovat a vyvolávat pomocí reflexe vždy, když je kód plně důvěryhodný.

Tato metoda není v současné době podporována. Typ můžete načíst pomocí nebo Type.GetTypeAssembly.GetType a použít reflexi na načtený typ.

Platí pro