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áží tuto instanci.
Přetížení
| Name | Description |
|---|---|
| Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Dynamicky vyvolá konstruktor reprezentovaný touto instancí na daném objektu, předávání zadaných parametrů a v rámci omezení 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ání zadaných parametrů a v rámci omezení 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, převod typů argumentů, vyvolání členů a načtení MemberInfo objektů pomocí reflexe. Pokud je nullpořadač , použije se výchozí pořadač. Viz 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ělo by to být null.
- culture
- CultureInfo
Instance CultureInfo sloužící k řízení převodu typů. Pokud je tato 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 Double , protože 1000 je reprezentováno odlišně různými jazykovými verzemi.)
Návraty
Hodnota vrácená vyvolanou konstruktorem.
Výjimky
Tato metoda se v současné době nepodporuje. Můžete načíst konstruktor pomocí GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) a volat Invoke(BindingFlags, Binder, Object[], CultureInfo) 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 číslo, typ a pořadí prvků v parameters poli mělo být stejné jako číslo, typ a pořadí parametrů pro konstruktor reflektován touto instancí.
Pokud je například konstruktor reflektovaný touto instancí deklarován jako veřejná třída se dvěma řetězci, parameters měl by být parametr pole Object s délkou 2.
Note
Omezení přístupu se ignorují pro plně důvěryhodný kód. To znamená, že k soukromým konstruktorům, metodám, polím a vlastnostem lze přistupovat a vyvolat 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.
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 potřeba znovu inicializovat.
- invokeAttr
- BindingFlags
Jedna z BindingFlags hodnot, která určuje typ vazby, která je požadovaná.
- binder
- Binder
A Binder , který definuje sadu vlastností a umožňuje vazby, převod typů argumentů a vyvolání členů pomocí reflexe. Pokud binder je null, pak Binder.DefaultBinding se použije.
- 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 null (Nothing v Visual Basic).
- culture
- CultureInfo
Slouží CultureInfo k řízení převodu typů. Pokud je tato 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. Můžete načíst konstruktor pomocí GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) a volat Invoke(BindingFlags, Binder, Object[], CultureInfo) vrácený ConstructorInfo.
Poznámky
Číslo, typ a pořadí prvků v matici parametrů by mělo být identické s číslem, typem a pořadím parametrů pro konstruktor reflektované touto instancí.
Před voláním konstruktoru zajistíte, Invoke že volající má oprávnění k přístupu a že parametry mají správné číslo, pořadí a typ.
Omezení přístupu se ignorují pro plně důvěryhodný kód. To znamená, že k soukromým konstruktorům, metodám, polím a vlastnostem lze přistupovat a vyvolat pomocí reflexe vždy, když je kód plně důvěryhodný.