ConstructorBuilder.Invoke Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyvolá konstruktor dynamicky odrážející tuto instanci.
Přetížení
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Dynamicky vyvolá konstruktor reprezentovaný touto instancí na daném objektu, předává zadané parametry a pod omezeními daného pořadače. |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Dynamicky vyvolá konstruktor reflektovaný touto instancí se zadanými argumenty v rámci omezení zadaného |
Invoke(BindingFlags, Binder, Object[], CultureInfo)
- Zdroj:
- ConstructorBuilder.cs
Dynamicky vyvolá konstruktor reprezentovaný touto instancí na daném objektu, předává zadané parametry a pod omezeními daného pořadače.
public:
override System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override 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 Overrides Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parametry
- invokeAttr
- BindingFlags
Musí to být bitový příznak z BindingFlags, například InvokeMethod, NonPublic atd.
- binder
- Binder
Objekt, který umožňuje vazbu, vynucování typů argumentů, vyvolání členů a načítání MemberInfo
objektů pomocí reflexe. Pokud je null
pořadač , použije se výchozí pořadač. Viz třída Binder.
- parameters
- Object[]
Seznam argumentů. Jedná se o pole argumentů se stejným číslem, pořadím a typem jako parametry konstruktoru, který se má vyvolat. Pokud neexistují žádné parametry, měl by to být null
.
- culture
- CultureInfo
Instance CultureInfo sloužící k řízení přinucování typů. Pokud je hodnota null, CultureInfo použije se pro aktuální vlákno. (To je například nutné k převodu String hodnoty, která představuje hodnotu 1000, na Double hodnotu, protože 1000 je reprezentován různými jazykovou verzí.)
Návraty
Hodnota vrácená vyvoláním konstruktoru.
Výjimky
Tato metoda se v současné době nepodporuje. Konstruktor můžete načíst pomocí GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) a volat Invoke(BindingFlags, Binder, Object[], CultureInfo) na vrácený ConstructorInfo.
Poznámky
Pokud konstruktor nemá žádné parametry, hodnota parametru parameters
by měla být null
. V opačném případě by počet, typ a pořadí prvků v parameters
matici měly být identické s číslem, typem a pořadím parametrů konstruktoru, které tato instance odráží.
Pokud je například konstruktor reflektovaný touto instancí deklarován jako veřejná třída se dvěma řetězci parameters
, pak parametr by měl být pole Object o délce 2.
Poznámka
Omezení přístupu se u plně důvěryhodného kódu ignorují. To znamená, že k soukromým konstruktorům, metodám, polím a vlastnostem lze přistupovat a vyvolat je pomocí reflexe vždy, když je kód plně důvěryhodný.
Viz také
Platí pro
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
- Zdroj:
- ConstructorBuilder.cs
Dynamicky vyvolá konstruktor reflektovaný touto instancí se zadanými argumenty v rámci omezení zadaného Binder
objektu .
public:
override System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (object? obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (obj As Object, invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parametry
- obj
- Object
Objekt, který je třeba znovu inicializovat.
- invokeAttr
- BindingFlags
Jedna z BindingFlags
hodnot, která určuje požadovaný typ vazby.
- binder
- Binder
A Binder
, který definuje sadu vlastností a umožňuje vazbu, vynucování typů argumentů a vyvolání členů pomocí reflexe. Pokud binder
je null
, použije se Binder.DefaultBinding.
- parameters
- Object[]
Seznam argumentů. Jedná se o pole argumentů se stejným číslem, pořadím a typem jako parametry konstruktoru, který se má vyvolat. Pokud neexistují žádné parametry, měl by to být odkaz s hodnotou null (Nothing
v jazyce Visual Basic).
- culture
- CultureInfo
Slouží CultureInfo k řízení donucování typů. Pokud je hodnota null, CultureInfo použije se pro aktuální vlákno.
Návraty
Instance třídy přidružené k konstruktoru.
Výjimky
Tato metoda se v současné době nepodporuje. Konstruktor můžete načíst pomocí GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) a volat Invoke(BindingFlags, Binder, Object[], CultureInfo) na vrácený ConstructorInfo.
Poznámky
Počet, typ a pořadí prvků v poli parametrů by měly být identické s počtem, typem a pořadím parametrů pro konstruktor odrážející tuto instanci.
Před voláním konstruktoru zkontrolujte, Invoke
že volající má přístupová oprávnění a že parametry mají správné číslo, pořadí a typ.
Omezení přístupu se u plně důvěryhodného kódu ignorují. To znamená, že k soukromým konstruktorům, metodám, polím a vlastnostem lze přistupovat a vyvolat je pomocí reflexe vždy, když je kód plně důvěryhodný.