ConstructorInfo.Invoke Método

Definição

Invoca o construtor refletido por esta instância.

Sobrecargas

Name Description
Invoke(Object[])

Invoca o construtor refletido pela instância que tem os parâmetros especificados, fornecendo valores por defeito para os parâmetros não comumente usados.

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

Quando implementado numa classe derivada, invoca o construtor refletido por este ConstructorInfo com os argumentos especificados, sob as restrições do especificado Binder.

Invoke(Object[])

Invoca o construtor refletido pela instância que tem os parâmetros especificados, fornecendo valores por defeito para os parâmetros não comumente usados.

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);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object

Parâmetros

parameters
Object[]

Um array de valores que corresponde ao número, ordem e tipo (sob as restrições do dossier padrão) dos parâmetros deste construtor. Se este construtor não tomar parâmetros, então use ou um array com zero elementos ou null, como em Object[] parâmetros = novo Objecto[0]. Qualquer objeto neste array que não esteja explicitamente inicializado com um valor conterá o valor padrão para esse tipo de objeto. Para elementos do tipo de referência, este valor é null. Para elementos do tipo valor, este valor é 0, 0,0 ou false, dependendo do tipo específico de elemento.

Devoluções

Uma instância da classe associada ao construtor.

Exceções

A aula é abstrata.

-ou-

O construtor é um inicializador de classes.

O construtor é privado ou protegido, e o chamador não possui MemberAccess.

Nota: Em .NET para aplicações Windows Store ou a Portable Class Library, apanhe a exceção da classe base, MemberAccessException, em vez disso.

O parameters array não contém valores que correspondam aos tipos aceites por este construtor.

O construtor invocado lança uma exceção.

Foi passado um número incorreto de parâmetros.

A criação de TypedReference, ArgIterator, e RuntimeArgumentHandle tipos não é suportada.

O chamador não tem a permissão de acesso necessária ao código.

Observações

O número, tipo e ordem dos elementos no parameters array devem ser idênticos ao número, tipo e ordem dos parâmetros para o construtor refletidos nesta instância. Antes de chamar o construtor, Invoke assegura que o chamador tem permissão de acesso e verifica que os parâmetros são válidos.

As restrições de acesso são ignoradas para código totalmente confiável. Ou seja, construtores privados, métodos, campos e propriedades podem ser acedidos e invocados usando reflexão sempre que o código for totalmente confiável.

Note

Para criar uma instância de um tipo de valor que não tenha construtores de instância, use o CreateInstance método.

Este método é um método de conveniência para a versão sobrecarregada seguinte, usando valores predefinidos. Este método não pode ser ultrapassado.

Note

Este método pode ser usado para aceder a membros não públicos se o chamador tiver recebido ReflectionPermission a ReflectionPermissionFlag.RestrictedMemberAccess bandeira e se o conjunto de concessões dos membros privados estiver restrito ao conjunto de concessão do chamador, ou a um subconjunto destes. (Ver Considerações de Segurança para Reflexão.) Para usar esta funcionalidade, a sua aplicação deve direcionar-se para o .NET Framework 3.5 ou posterior.

Aplica-se a

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

Quando implementado numa classe derivada, invoca o construtor refletido por este ConstructorInfo com os argumentos especificados, sob as restrições do especificado 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
Public MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object

Parâmetros

invokeAttr
BindingFlags

Um dos BindingFlags valores que especifica o tipo de ligação.

binder
Binder

A Binder que define um conjunto de propriedades e permite a ligação, coerção de tipos de argumentos e invocação de membros usando reflexão. Se binder for null, então Binder.DefaultBinding é usado.

parameters
Object[]

Um array do tipo Object usado para corresponder ao número, ordem e tipo dos parâmetros deste construtor, sob as restrições de binder. Se este construtor não exigir parâmetros, passa um array com zero elementos, como em parâmetros Object[] = novo Objecto[0]. Qualquer objeto neste array que não esteja explicitamente inicializado com um valor conterá o valor padrão para esse tipo de objeto. Para elementos do tipo de referência, este valor é null. Para elementos do tipo valor, este valor é 0, 0,0 ou false, dependendo do tipo específico de elemento.

culture
CultureInfo

A CultureInfo usado para governar a coerção dos tipos. Se for null, usa-se para CultureInfo a thread atual.

Devoluções

Uma instância da classe associada ao construtor.

Exceções

O parameters array não contém valores que correspondam aos tipos aceites por este construtor, sob as restrições do binder.

O construtor invocado lança uma exceção.

Foi passado um número incorreto de parâmetros.

A criação de TypedReference, ArgIterator, e RuntimeArgumentHandle tipos não é suportada.

O chamador não tem as permissões de acesso ao código necessárias.

A aula é abstrata.

-ou-

O construtor é um inicializador de classes.

O construtor é privado ou protegido, e o chamador não possui MemberAccess.

Observações

O número, tipo e ordem dos elementos no parameters array devem ser idênticos ao número, tipo e ordem dos parâmetros para o construtor refletidos nesta instância.

Antes de chamar o construtor, Invoke assegura-se de que o chamador tem permissão de acesso e que os parâmetros são do número, ordem e tipo corretos.

As restrições de acesso são ignoradas para código totalmente confiável. Ou seja, construtores privados, métodos, campos e propriedades podem ser acedidos e invocados usando reflexão sempre que o código for totalmente confiável.

Note

Para criar uma instância de um tipo de valor que não tenha construtores de instância, use o CreateInstance método.

Note

Este método pode ser usado para aceder a membros não públicos se o chamador tiver recebido ReflectionPermission a ReflectionPermissionFlag.RestrictedMemberAccess bandeira e se o conjunto de concessões dos membros privados estiver restrito ao conjunto de concessão do chamador, ou a um subconjunto destes. (Ver Considerações de Segurança para Reflexão.) Para usar esta funcionalidade, a sua aplicação deve direcionar-se para o .NET Framework 3.5 ou posterior.

Ver também

Aplica-se a