ConstructorInfo.Invoke Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
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
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.
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.