ConstructorInfo.Invoke Método

Definição

Invoca o construtor refletido por essa instância.

Sobrecargas

Nome Description
Invoke(Object[])

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

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

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

Invoke(Object[])

Origem:
ConstructorInfo.cs
Origem:
ConstructorInfo.cs
Origem:
ConstructorInfo.cs
Origem:
ConstructorInfo.cs
Origem:
ConstructorInfo.cs

Invoca o construtor refletido pela instância que tem os parâmetros especificados, fornecendo valores padrão 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);
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[]

Uma matriz de valores que corresponde ao número, ordem e tipo (sob as restrições do associador padrão) dos parâmetros desse construtor. Se esse construtor não usa parâmetros, use uma matriz com zero elementos ou null, como nos parâmetros Object[] = new Object[0]. Qualquer objeto nessa matriz que não seja inicializado explicitamente com um valor conterá o valor padrão para esse tipo de objeto. Para elementos de tipo de referência, esse valor é null. Para elementos de tipo de valor, esse valor é 0, 0,0 ou false, dependendo do tipo de elemento específico.

Retornos

Uma instância da classe associada ao construtor.

Exceções

A classe é abstrata.

- ou -

O construtor é um inicializador de classe.

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

A parameters matriz não contém valores que correspondem aos tipos aceitos por esse construtor.

O construtor invocado gera uma exceção.

Um número incorreto de parâmetros foi passado.

Não há suporte para a criação de TypedReferencetipos ArgIteratore RuntimeArgumentHandle tipos.

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

Comentários

O número, o tipo e a ordem dos elementos na parameters matriz devem ser idênticos ao número, ao tipo e à ordem dos parâmetros do construtor refletidos por essa instância. Antes de chamar o construtor, Invoke verifique se o chamador tem permissão de acesso e verifica se 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 acessados 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 tem construtores de instância, use o CreateInstance método.

Esse método é um método de conveniência para a seguinte versão sobrecarregada, usando valores padrão. Esse método não pode ser substituído.

Note

Esse método pode ser usado para acessar membros não públicos se o chamador tiver sido concedido ReflectionPermission com o ReflectionPermissionFlag.RestrictedMemberAccess sinalizador e se o conjunto de concessões dos membros não públicos estiver restrito ao conjunto de concessões do chamador ou a um subconjunto dele. (Consulte as considerações de segurança para reflexão.)

Aplica-se a

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

Origem:
ConstructorInfo.cs
Origem:
ConstructorInfo.cs
Origem:
ConstructorInfo.cs
Origem:
ConstructorInfo.cs
Origem:
ConstructorInfo.cs

Quando implementado em uma classe derivada, invoca o construtor refletido por isso 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);
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 associação.

binder
Binder

Um Binder que define um conjunto de propriedades e habilita a associação, coerção de tipos de argumento e invocação de membros usando reflexão. Se binder for null, então Binder.DefaultBinding será usado.

parameters
Object[]

Uma matriz de tipo Object usada para corresponder ao número, ordem e tipo dos parâmetros desse construtor, sob as restrições de binder. Se esse construtor não exigir parâmetros, passe uma matriz com zero elementos, como nos parâmetros Object[] = new Object[0]. Qualquer objeto nessa matriz que não seja inicializado explicitamente com um valor conterá o valor padrão para esse tipo de objeto. Para elementos de tipo de referência, esse valor é null. Para elementos de tipo de valor, esse valor é 0, 0,0 ou false, dependendo do tipo de elemento específico.

culture
CultureInfo

Um CultureInfo usado para controlar a coerção de tipos. Se isso for null, o CultureInfo thread atual será usado.

Retornos

Uma instância da classe associada ao construtor.

Exceções

A parameters matriz não contém valores que correspondem aos tipos aceitos por esse construtor, sob as restrições do binder.

O construtor invocado gera uma exceção.

Um número incorreto de parâmetros foi passado.

Não há suporte para a criação de TypedReferencetipos ArgIteratore RuntimeArgumentHandle tipos.

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

A classe é abstrata.

- ou -

O construtor é um inicializador de classe.

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

Comentários

O número, o tipo e a ordem dos elementos na parameters matriz devem ser idênticos ao número, ao tipo e à ordem dos parâmetros do construtor refletidos por essa instância.

Antes de chamar o construtor, Invoke verifique se o chamador tem permissão de acesso e se os parâmetros são do número, da ordem e do 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 acessados 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 tem construtores de instância, use o CreateInstance método.

Note

Esse método pode ser usado para acessar membros não públicos se o chamador tiver sido concedido ReflectionPermission com o ReflectionPermissionFlag.RestrictedMemberAccess sinalizador e se o conjunto de concessões dos membros não públicos estiver restrito ao conjunto de concessões do chamador ou a um subconjunto dele. (Consulte Seções de segurança para reflexão.) Para usar essa funcionalidade, seu aplicativo deve ser direcionado .NET Framework 3.5 ou posterior.

Confira também

Aplica-se a