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 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 |
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
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.
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.