ConstructorInfo.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 reflektován touto instancí.
Přetížení
| Name | Description |
|---|---|
| Invoke(Object[]) |
Vyvolá konstruktor, který odráží instanci se zadanými parametry a poskytuje výchozí hodnoty parametrů, které se běžně nepoužívají. |
| Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Při implementaci v odvozené třídě vyvolá konstruktor reflektovaný tímto |
Invoke(Object[])
- Zdroj:
- ConstructorInfo.cs
- Zdroj:
- ConstructorInfo.cs
- Zdroj:
- ConstructorInfo.cs
- Zdroj:
- ConstructorInfo.cs
- Zdroj:
- ConstructorInfo.cs
Vyvolá konstruktor, který odráží instanci se zadanými parametry a poskytuje výchozí hodnoty parametrů, které se běžně nepoužívají.
public:
virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke(object[] parameters);
public object Invoke(object?[]? parameters);
public object Invoke(object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object
Parametry
- parameters
- Object[]
Matice hodnot, která odpovídá číslu, pořadí a typu (v rámci omezení výchozího pořadače) parametrů pro tento konstruktor. Pokud tento konstruktor nepřijímá žádné parametry, použijte buď pole s nulovými prvky, nebo null, jako v parametrech Object[] = new Object[0]. Jakýkoli objekt v tomto poli, který není explicitně inicializován s hodnotou, bude obsahovat výchozí hodnotu pro tento typ objektu. Pro elementy typu odkaz je tato hodnota null. U prvků typu hodnota je tato hodnota 0, 0,0 nebo false, v závislosti na konkrétním typu prvku.
Návraty
Instance třídy přidružené k konstruktoru.
Výjimky
Konstruktor je soukromý nebo chráněný a volající chybí MemberAccess.
Pole parameters neobsahuje hodnoty, které odpovídají typům přijatým tímto konstruktorem.
Vyvolaný konstruktor vyvolá výjimku.
Byl předán nesprávný počet parametrů.
Vytváření typů TypedReferencea ArgIteratorRuntimeArgumentHandle typů není podporováno.
Volající nemá potřebná oprávnění pro přístup ke kódu.
Poznámky
Číslo, typ a pořadí prvků v parameters poli by mělo být shodné s číslem, typem a pořadím parametrů pro konstruktor reflektované touto instancí. Před voláním konstruktoru zajistíte, že volající má oprávnění k přístupu a ověří, Invoke zda jsou parametry platné.
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, kdykoli je kód plně důvěryhodný.
Note
Chcete-li vytvořit instanci typu hodnoty, která nemá žádné konstruktory instance, použijte metodu CreateInstance .
Tato metoda je pohodlná metoda pro následující přetíženou verzi s použitím výchozích hodnot. Tuto metodu nelze přepsat.
Note
Tuto metodu lze použít pro přístup k neveřejným členům, pokud byl volající udělen ReflectionPermission příznakem ReflectionPermissionFlag.RestrictedMemberAccess a pokud je sada udělení nepřístupných členů omezena na sadu grantů volajícího nebo její podmnožinu. (Viz aspekty zabezpečení pro reflexi.)
Platí pro
Invoke(BindingFlags, Binder, Object[], CultureInfo)
- Zdroj:
- ConstructorInfo.cs
- Zdroj:
- ConstructorInfo.cs
- Zdroj:
- ConstructorInfo.cs
- Zdroj:
- ConstructorInfo.cs
- Zdroj:
- ConstructorInfo.cs
Při implementaci v odvozené třídě vyvolá konstruktor reflektovaný tímto ConstructorInfo se zadanými argumenty v rámci omezení zadaného Binder.
public:
abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public abstract 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 MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parametry
- invokeAttr
- BindingFlags
Jedna z BindingFlags hodnot, které určují typ vazby.
- 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, použije Binder.DefaultBinding se.
- parameters
- Object[]
Pole typuObject, které odpovídá číslu, pořadí a typu parametrů pro tento konstruktor, v rámci omezení .binder Pokud tento konstruktor nevyžaduje parametry, předejte pole s nulovými prvky, jako v parametrech Object[] = new Object[0]. Jakýkoli objekt v tomto poli, který není explicitně inicializován s hodnotou, bude obsahovat výchozí hodnotu pro tento typ objektu. Pro elementy typu odkaz je tato hodnota null. U prvků typu hodnota je tato hodnota 0, 0,0 nebo false, v závislosti na konkrétním typu prvku.
- culture
- CultureInfo
Slouží CultureInfo k řízení převodu typů. V takovém případě nullCultureInfo se použije aktuální vlákno.
Návraty
Instance třídy přidružené k konstruktoru.
Výjimky
Pole parameters neobsahuje hodnoty, které odpovídají typům přijatým tímto konstruktorem, v rámci omezení .binder
Vyvolaný konstruktor vyvolá výjimku.
Byl předán nesprávný počet parametrů.
Vytváření typů TypedReferencea ArgIteratorRuntimeArgumentHandle typů není podporováno.
Volající nemá potřebná přístupová oprávnění ke kódu.
Konstruktor je soukromý nebo chráněný a volající chybí MemberAccess.
Poznámky
Číslo, typ a pořadí prvků v parameters poli by mělo být shodné 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, kdykoli je kód plně důvěryhodný.
Note
Chcete-li vytvořit instanci typu hodnoty, která nemá žádné konstruktory instance, použijte metodu CreateInstance .
Note
Tuto metodu lze použít pro přístup k neveřejným členům, pokud byl volající udělen ReflectionPermission příznakem ReflectionPermissionFlag.RestrictedMemberAccess a pokud je sada udělení nepřístupných členů omezena na sadu grantů volajícího nebo její podmnožinu. (Viz Aspekty zabezpečení reflexe.) Pokud chcete tuto funkci používat, měla by vaše aplikace cílit na .NET Framework 3.5 nebo novější.