ConstructorInfo.Invoke Metoda

Definice

Vyvolá konstruktor, který odráží tato instance.Invokes the constructor reflected by this instance.

Přetížení

Invoke(Object[])

Vyvolá konstruktor odrážející instanci, která má zadané parametry, a poskytuje výchozí hodnoty pro parametry, které nejsou běžně používány.Invokes the constructor reflected by the instance that has the specified parameters, providing default values for the parameters not commonly used.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Při implementaci v odvozené třídě vyvolá konstruktor reflektující ConstructorInfo se zadanými argumenty v rámci omezení zadaného. BinderWhen implemented in a derived class, invokes the constructor reflected by this ConstructorInfo with the specified arguments, under the constraints of the specified Binder.

Invoke(Object[])

Vyvolá konstruktor odrážející instanci, která má zadané parametry, a poskytuje výchozí hodnoty pro parametry, které nejsou běžně používány.Invokes the constructor reflected by the instance that has the specified parameters, providing default values for the parameters not commonly used.

public:
 System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public object Invoke (object[] parameters);
override this.Invoke : obj[] -> obj
Public Function Invoke (parameters As Object()) As Object

Parametry

parameters
Object[]

Pole hodnot, které odpovídá číslu, pořadí a typu (v rámci omezení výchozího pořadače) parametrů pro tento konstruktor.An array of values that matches the number, order and type (under the constraints of the default binder) of the parameters for this constructor. Pokud tento konstruktor nepřijímá žádné parametry, použijte buď pole s nulovými prvky, nullnebo, jako v objektu [] Parameters = New Object [0].If this constructor takes no parameters, then use either an array with zero elements or null, as in Object[] parameters = new Object[0]. Libovolný objekt v tomto poli, který není explicitně inicializován s hodnotou, bude obsahovat výchozí hodnotu pro tento typ objektu.Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. Pro prvky typu odkazu je nulltato hodnota.For reference-type elements, this value is null. Pro prvky typu hodnoty je tato hodnota 0, 0,0 nebo false, v závislosti na konkrétním typu prvku.For value-type elements, this value is 0, 0.0, or false, depending on the specific element type.

Návraty

Instance třídy přidružené k konstruktoru.An instance of the class associated with the constructor.

Výjimky

Třída je abstraktní.The class is abstract.

-nebo--or-

Konstruktor je inicializátor třídy.The constructor is a class initializer.

V rozhraní .NET pro aplikace pro Windows Store nebo přenositelné knihovny třídZachyťte výjimku MemberAccessExceptionzákladní třídy místo toho.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

Konstruktor je privátní nebo chráněný a chybí MemberAccessvolající.The constructor is private or protected, and the caller lacks MemberAccess.

parameters Pole neobsahuje hodnoty, které odpovídají typům přijatým tímto konstruktorem.The parameters array does not contain values that match the types accepted by this constructor.

Vyvolaný konstruktor vyvolá výjimku.The invoked constructor throws an exception.

Byl předán nesprávný počet parametrů.An incorrect number of parameters was passed.

Vytváření typů TypedReference, ArgIterator aRuntimeArgumentHandle nejsou podporovány.Creation of TypedReference, ArgIterator, and RuntimeArgumentHandle types is not supported.

Volající nemá potřebná přístupová oprávnění kódu.The caller does not have the necessary code access permission.

Poznámky

Počet, typ a pořadí prvků v parameters poli musí být stejné jako číslo, typ a pořadí parametrů pro konstruktor, který odráží tato instance.The number, type, and order of elements in the parameters array should be identical to the number, type, and order of parameters for the constructor reflected by this instance. Před voláním konstruktoru Invoke zajistí, že volající má přístupové oprávnění a ověří, zda jsou parametry platné.Before calling the constructor, Invoke ensures that the caller has access permission and verifies that the parameters are valid.

U plně důvěryhodného kódu jsou omezení přístupu ignorována.Access restrictions are ignored for fully trusted code. To znamená, že privátní konstruktory, metody, pole a vlastnosti mohou být k dispozici a vyvolány pomocí reflexe vždy, když je kód plně důvěryhodný.That is, private constructors, methods, fields, and properties can be accessed and invoked using reflection whenever the code is fully trusted.

Poznámka

Chcete-li vytvořit instanci typu hodnoty, která nemá žádné konstruktory instancí, použijte CreateInstance metodu.To create an instance of a value type that has no instance constructors, use the CreateInstance method.

Tato metoda je pohodlnější způsob pro následující přetíženou verzi s použitím výchozích hodnot.This method is a convenience method for the following overloaded version, using default values. Tuto metodu nelze přepsat.This method cannot be overridden.

Poznámka

Počínaje verzí lze tuto metodu použít pro přístup k neveřejným členům, pokud byl volající udělen ReflectionPermission s ReflectionPermissionFlag.RestrictedMemberAccess příznakem a pokud je udělená sada neveřejných členů omezena na udělenou skupinu volajícího nebo na podmnožinu. .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1 právnické osobě.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access non-public members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (Další informace najdete v tématu informace o zabezpečení pro reflexi.)(See Security Considerations for Reflection.)

Chcete-li použít tuto funkci, vaše aplikace by .NET Framework 3.5.NET Framework 3.5 měla cílit na nebo novější.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Zabezpečení

ReflectionPermission
Při volání s pozdní vazbou prostřednictvím mechanismů InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]), jako je.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Přidružený výčet: MemberAccess.Associated enumeration: MemberAccess.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Při implementaci v odvozené třídě vyvolá konstruktor reflektující ConstructorInfo se zadanými argumenty v rámci omezení zadaného. BinderWhen implemented in a derived class, invokes the constructor reflected by this ConstructorInfo with the specified arguments, under the constraints of the specified 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);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj

Parametry

invokeAttr
BindingFlags

Jedna z BindingFlags hodnot, které určují typ vazby.One of the BindingFlags values that specifies the type of binding.

binder
Binder

Binder Který definuje sadu vlastností a povoluje vazbu, vynucení typů argumentů a vyvolání členů pomocí reflexe.A Binder that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Pokud binder je null, pakBinder.DefaultBinding se použije.If binder is null, then Binder.DefaultBinding is used.

parameters
Object[]

Pole typu Object používané pro shodu s počtem, pořadím a typem parametrů pro tento konstruktor v rámci binderomezení.An array of type Object used to match the number, order and type of the parameters for this constructor, under the constraints of binder. Pokud tento konstruktor nevyžaduje parametry, předejte pole s nulovými prvky, jako v objektu [] Parameters = New Object [0].If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Libovolný objekt v tomto poli, který není explicitně inicializován s hodnotou, bude obsahovat výchozí hodnotu pro tento typ objektu.Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. Pro prvky typu odkazu je nulltato hodnota.For reference-type elements, this value is null. Pro prvky typu hodnoty je tato hodnota 0, 0,0 nebo false, v závislosti na konkrétním typu prvku.For value-type elements, this value is 0, 0.0, or false, depending on the specific element type.

culture
CultureInfo

CultureInfo Slouží k řízení vynucení typů.A CultureInfo used to govern the coercion of types. null VCultureInfo takovém případě se použije pro aktuální vlákno.If this is null, the CultureInfo for the current thread is used.

Návraty

Instance třídy přidružené k konstruktoru.An instance of the class associated with the constructor.

Výjimky

Pole neobsahuje hodnoty, které odpovídají typům přijatým tímto konstruktorem, v rámci omezení binder. parametersThe parameters array does not contain values that match the types accepted by this constructor, under the constraints of the binder.

Vyvolaný konstruktor vyvolá výjimku.The invoked constructor throws an exception.

Byl předán nesprávný počet parametrů.An incorrect number of parameters was passed.

Vytváření typů TypedReference, ArgIterator aRuntimeArgumentHandle nejsou podporovány.Creation of TypedReference, ArgIterator, and RuntimeArgumentHandle types is not supported.

Volající nemá potřebná přístupová oprávnění kódu.The caller does not have the necessary code access permissions.

Třída je abstraktní.The class is abstract.

-nebo--or-

Konstruktor je inicializátor třídy.The constructor is a class initializer.

Konstruktor je privátní nebo chráněný a chybí MemberAccessvolající.The constructor is private or protected, and the caller lacks MemberAccess.

Poznámky

Počet, typ a pořadí prvků v parameters poli musí být stejné jako číslo, typ a pořadí parametrů pro konstruktor, který odráží tato instance.The number, type, and order of elements in the parameters array should be identical to the number, type, and order of parameters for the constructor reflected by this instance.

Před voláním konstruktoru Invoke ověří, zda má volající oprávnění přístupu a zda jsou parametry správného čísla, pořadí a typu.Before calling the constructor, Invoke ensures that the caller has access permission and that the parameters are of the correct number, order and type.

U plně důvěryhodného kódu jsou omezení přístupu ignorována.Access restrictions are ignored for fully trusted code. To znamená, že privátní konstruktory, metody, pole a vlastnosti mohou být k dispozici a vyvolány pomocí reflexe vždy, když je kód plně důvěryhodný.That is, private constructors, methods, fields, and properties can be accessed and invoked using reflection whenever the code is fully trusted.

Poznámka

Chcete-li vytvořit instanci typu hodnoty, která nemá žádné konstruktory instancí, použijte CreateInstance metodu.To create an instance of a value type that has no instance constructors, use the CreateInstance method.

Poznámka

Počínaje verzí lze tuto metodu použít pro přístup k neveřejným členům, pokud byl volající udělen ReflectionPermission s ReflectionPermissionFlag.RestrictedMemberAccess příznakem a pokud je udělená sada neveřejných členů omezena na udělenou skupinu volajícího nebo na podmnožinu. .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1 právnické osobě.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access non-public members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (Další informace najdete v tématu informace o zabezpečení pro reflexi.)(See Security Considerations for Reflection.)

Chcete-li použít tuto funkci, vaše aplikace by .NET Framework 3.5.NET Framework 3.5 měla cílit na nebo novější.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Zabezpečení

ReflectionPermission
Při volání s pozdní vazbou prostřednictvím mechanismů InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]), jako je.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Přidružený výčet: MemberAccess.Associated enumeration: MemberAccess.

Viz také

Platí pro