Compartilhar via


ConstructorInfo.Invoke Método

Definição

Invoca o construtor refletido por esta instância.

Sobrecargas

Invoke(Object[])

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

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

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

Invoke(Object[])

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 que não são usados normalmente.

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 ao tipo (de acordo com as restrições do associador padrão) dos parâmetros desse construtor. Se esse construtor não usar nenhum parâmetro, use uma matriz com zero elementos ou null, como em parâmetros de Object[] = novo Object[0]. Qualquer objeto nesta matriz que não for inicializado explicitamente com um valor conterá o valor padrão desse 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 é particular ou protegido, e o chamador não tem o MemberAccess.

Observação: no .NET para aplicativos da Windows Store ou na Biblioteca de Classes Portátil, capture a exceção de classe base, MemberAccessException, em vez disso.

A matriz parameters 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 à criação dos tipos TypedReference, ArgIterator e RuntimeArgumentHandle.

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

Comentários

O número, o tipo e a parameters ordem dos elementos na 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 garante que o chamador tenha permissão de acesso e verifique 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.

Observação

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 versão sobrecarregada a seguir, usando valores padrão. Esse método não pode ser substituído.

Observação

A partir do .NET Framework 2.0, esse método poderá 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 Considerações de segurança para reflexão.) Para usar essa funcionalidade, seu aplicativo deve ter como destino o .NET Framework 3.5 ou posterior.

Aplica-se a

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

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

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

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 valores BindingFlags que especifica o tipo de associação.

binder
Binder

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

parameters
Object[]

Uma matriz do tipo Object usada para fazer a correspondência do número, da ordem e do tipo dos parâmetros para esse construtor, sob as restrições de binder. Se esse construtor não exigir parâmetros, passe uma matriz com zero elementos, como em parâmetros de Object[] = novo Object[0]. Qualquer objeto nesta matriz que não for inicializado explicitamente com um valor conterá o valor padrão desse 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 reger a coerção de tipos. Se isso for null, será usado o CultureInfo para o thread atual.

Retornos

Uma instância da classe associada ao construtor.

Exceções

A matriz parameters 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 à criação dos tipos TypedReference, ArgIterator e RuntimeArgumentHandle.

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

A classe é abstrata.

- ou -

O construtor é um inicializador de classe.

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

Comentários

O número, o tipo e a parameters ordem dos elementos na 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 garante que o chamador tenha permissão de acesso e que os parâmetros sejam 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.

Observação

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

Observação

A partir do .NET Framework 2.0, esse método poderá 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 Considerações de segurança para reflexão.) Para usar essa funcionalidade, seu aplicativo deve ter como destino o .NET Framework 3.5 ou posterior.

Confira também

Aplica-se a