ConstructorInfo.Invoke Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 |
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
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.
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.