ConstructorInfo.Invoke Método

Definición

Invoca al constructor que refleja esta instancia.

Sobrecargas

Invoke(Object[])

Invoca al constructor reflejado por la instancia que tiene los parámetros especificados, proporcionando valores predeterminados para los parámetros que no se usan habitualmente.

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

Al implementarse en una clase derivada, invoca al constructor reflejado por esta instancia de ConstructorInfo con los argumentos especificados, bajo las restricciones del enlazador (Binder) especificado.

Invoke(Object[])

Source:
ConstructorInfo.cs
Source:
ConstructorInfo.cs
Source:
ConstructorInfo.cs

Invoca al constructor reflejado por la instancia que tiene los parámetros especificados, proporcionando valores predeterminados para los parámetros que no se usan habitualmente.

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[]

Matriz de valores que coincide con el número, orden y tipo (bajo las restricciones del enlazador predeterminado) de los parámetros de este constructor. Si este constructor no adopta ningún parámetro, debe utilizarse bien una matriz con cero elementos o bien null, al igual que en Object[] parameters = new Object[0]. Cualquier objeto de esta matriz que no se inicialice explícitamente con un valor contendrá el valor predeterminado de este tipo de objeto. Para los elementos de tipo de referencia, este valor es null. Para los elementos de tipo de valor, este valor es 0, 0.0 o false, en función del tipo de elemento específico.

Devoluciones

Instancia de la clase asociada al constructor.

Excepciones

La clase es abstracta.

o bien

El constructor es un inicializador de clase.

El constructor es privado o protegido y al autor de la llamada le falta MemberAccess.

Nota: En .NET para aplicaciones de la Tienda Windows o la biblioteca de clases portable, capture la excepción de clase base, MemberAccessException, en su lugar.

La matriz parameters no contiene valores que coincidan con los tipos aceptados por este constructor.

El constructor invocado produce una excepción.

Se pasó un número de parámetros incorrecto.

No se admite la creación de los tipos TypedReference, ArgIterator y RuntimeArgumentHandle.

El autor de la llamada no tiene los permisos necesarios para acceder al código.

Comentarios

El número, el tipo y el orden de los elementos de la parameters matriz deben ser idénticos al número, el tipo y el orden de los parámetros para el constructor reflejado por esta instancia. Antes de llamar al constructor, Invoke garantiza que el autor de la llamada tenga permiso de acceso y compruebe que los parámetros son válidos.

Las restricciones de acceso se omiten para el código de plena confianza. Es decir, se puede acceder a constructores privados, métodos, campos y propiedades e invocarse mediante reflexión siempre que el código sea de plena confianza.

Nota

Para crear una instancia de un tipo de valor que no tenga constructores de instancia, use el CreateInstance método .

Este método es un método práctico para la siguiente versión sobrecargada, con valores predeterminados. Este método no se puede invalidar.

Nota

A partir de .NET Framework 2.0, este método se puede usar para tener acceso a miembros no públicos si se ha concedido ReflectionPermission al autor de la llamada con la ReflectionPermissionFlag.RestrictedMemberAccess marca y si el conjunto de concesión de los miembros no públicos está restringido al conjunto de concesión del autor de la llamada o a un subconjunto de ellos. (Consulte Consideraciones de seguridad para la reflexión). Para usar esta funcionalidad, la aplicación debe tener como destino .NET Framework 3.5 o posterior.

Se aplica a

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

Source:
ConstructorInfo.cs
Source:
ConstructorInfo.cs
Source:
ConstructorInfo.cs

Al implementarse en una clase derivada, invoca al constructor reflejado por esta instancia de ConstructorInfo con los argumentos especificados, bajo las restricciones del enlazador (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

Uno de los valores BindingFlags que especifica el tipo de enlace.

binder
Binder

Binder que define un conjunto de propiedades y permite el enlace, la conversión de tipos de argumentos y la invocación de miembros mediante la reflexión. Si el valor de binder es null, se usa Binder.DefaultBinding.

parameters
Object[]

Matriz de tipo Object que se utiliza para encontrar coincidencias con el número, tipo y orden de los parámetros de este constructor, bajo las restricciones del enlazador (binder). Si este constructor no requiere parámetros, debe utilizarse una matriz con cero elementos, al igual que en Object[] parameters = new Object[0]. Cualquier objeto de esta matriz que no se inicialice explícitamente con un valor contendrá el valor predeterminado de este tipo de objeto. Para los elementos de tipo de referencia, este valor es null. Para los elementos de tipo de valor, este valor es 0, 0.0 o false, en función del tipo de elemento específico.

culture
CultureInfo

CultureInfo que se usa para regir la conversión de tipos. Si es null, se utiliza CultureInfo para el subproceso actual.

Devoluciones

Instancia de la clase asociada al constructor.

Excepciones

La matriz parameters no contiene valores que coincidan con los tipos aceptados por este constructor, de acuerdo con las restricciones del binder.

El constructor invocado produce una excepción.

Se pasó un número de parámetros incorrecto.

No se admite la creación de los tipos TypedReference, ArgIterator y RuntimeArgumentHandle.

El llamador no tiene los permisos de acceso a código necesarios.

La clase es abstracta.

o bien

El constructor es un inicializador de clase.

El constructor es privado o protegido y al autor de la llamada le falta MemberAccess.

Comentarios

El número, el tipo y el orden de los elementos de la parameters matriz deben ser idénticos al número, el tipo y el orden de los parámetros para el constructor reflejado por esta instancia.

Antes de llamar al constructor, Invoke garantiza que el autor de la llamada tenga permiso de acceso y que los parámetros sean del número, el orden y el tipo correctos.

Las restricciones de acceso se omiten para el código de plena confianza. Es decir, se puede acceder a constructores privados, métodos, campos y propiedades e invocarse mediante reflexión siempre que el código sea de plena confianza.

Nota

Para crear una instancia de un tipo de valor que no tenga constructores de instancia, use el CreateInstance método .

Nota

A partir de .NET Framework 2.0, este método se puede usar para tener acceso a miembros no públicos si se ha concedido ReflectionPermission al autor de la llamada con la ReflectionPermissionFlag.RestrictedMemberAccess marca y si el conjunto de concesión de los miembros no públicos está restringido al conjunto de concesión del autor de la llamada o a un subconjunto de ellos. (Consulte Consideraciones de seguridad para la reflexión). Para usar esta funcionalidad, la aplicación debe tener como destino .NET Framework 3.5 o posterior.

Consulte también

Se aplica a