ConstructorInfo.Invoke Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
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
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.
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.