ConstructorInfo Clase
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í.
Detecta los atributos de un constructor de clase y proporciona acceso a los metadatos del constructor.
public ref class ConstructorInfo abstract : System::Reflection::MethodBase
public ref class ConstructorInfo abstract : System::Reflection::MethodBase, System::Runtime::InteropServices::_ConstructorInfo
public abstract class ConstructorInfo : System.Reflection.MethodBase
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class ConstructorInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._ConstructorInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class ConstructorInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._ConstructorInfo
type ConstructorInfo = class
inherit MethodBase
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type ConstructorInfo = class
inherit MethodBase
interface _ConstructorInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ConstructorInfo = class
inherit MethodBase
interface _ConstructorInfo
Public MustInherit Class ConstructorInfo
Inherits MethodBase
Public MustInherit Class ConstructorInfo
Inherits MethodBase
Implements _ConstructorInfo
- Herencia
- Derivado
- Atributos
- Implementaciones
Ejemplos
En el ejemplo siguiente se usa ConstructorInfo
con GetConstructor y BindingFlags para buscar los constructores que coinciden con los criterios de búsqueda especificados.
using namespace System;
using namespace System::Reflection;
using namespace System::Security;
public ref class MyClass1
{
public:
MyClass1( int i ){}
};
int main()
{
try
{
Type^ myType = MyClass1::typeid;
array<Type^>^types = gcnew array<Type^>(1);
types[ 0 ] = int::typeid;
// Get the public instance constructor that takes an integer parameter.
ConstructorInfo^ constructorInfoObj = myType->GetConstructor( static_cast<BindingFlags>(BindingFlags::Instance | BindingFlags::Public), nullptr, CallingConventions::HasThis, types, nullptr );
if ( constructorInfoObj != nullptr )
{
Console::WriteLine( "The constructor of MyClass1 that is a public instance method and takes an integer as a parameter is: " );
Console::WriteLine( constructorInfoObj );
}
else
{
Console::WriteLine( "The constructor of MyClass1 that is a public instance method and takes an integer as a parameter is not available." );
}
}
catch ( ArgumentNullException^ e )
{
Console::WriteLine( "ArgumentNullException: {0}", e->Message );
}
catch ( ArgumentException^ e )
{
Console::WriteLine( "ArgumentException: {0}", e->Message );
}
catch ( SecurityException^ e )
{
Console::WriteLine( "SecurityException: {0}", e->Message );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception: {0}", e->Message );
}
}
using System;
using System.Reflection;
using System.Security;
public class MyClass3
{
public MyClass3(int i) { }
public static void Main()
{
try
{
Type myType = typeof(MyClass3);
Type[] types = new Type[1];
types[0] = typeof(int);
// Get the public instance constructor that takes an integer parameter.
ConstructorInfo constructorInfoObj = myType.GetConstructor(
BindingFlags.Instance | BindingFlags.Public, null,
CallingConventions.HasThis, types, null);
if (constructorInfoObj != null)
{
Console.WriteLine("The constructor of MyClass3 that is a public " +
"instance method and takes an integer as a parameter is: ");
Console.WriteLine(constructorInfoObj.ToString());
}
else
{
Console.WriteLine("The constructor of MyClass3 that is a public instance " +
"method and takes an integer as a parameter is not available.");
}
}
catch (ArgumentNullException e)
{
Console.WriteLine("ArgumentNullException: " + e.Message);
}
catch (ArgumentException e)
{
Console.WriteLine("ArgumentException: " + e.Message);
}
catch (SecurityException e)
{
Console.WriteLine("SecurityException: " + e.Message);
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
}
}
Public Class MyClass1
Public Sub New(ByVal i As Integer)
End Sub
Public Shared Sub Main()
Try
Dim myType As Type = GetType(MyClass1)
Dim types(0) As Type
types(0) = GetType(Integer)
' Get the public instance constructor that takes an integer parameter.
Dim constructorInfoObj As ConstructorInfo = _
myType.GetConstructor(BindingFlags.Instance Or _
BindingFlags.Public, Nothing, _
CallingConventions.HasThis, types, Nothing)
If Not (constructorInfoObj Is Nothing) Then
Console.WriteLine("The constructor of MyClass1 that " + _
"is a public instance method and takes an " + _
"integer as a parameter is: ")
Console.WriteLine(constructorInfoObj.ToString())
Else
Console.WriteLine("The constructor MyClass1 that " + _
"is a public instance method and takes an " + _
"integer as a parameter is not available.")
End If
Catch e As ArgumentNullException
Console.WriteLine("ArgumentNullException: " + e.Message)
Catch e As ArgumentException
Console.WriteLine("ArgumentException: " + e.Message)
Catch e As SecurityException
Console.WriteLine("SecurityException: " + e.Message)
Catch e As Exception
Console.WriteLine("Exception: " + e.Message)
End Try
End Sub
End Class
Comentarios
ConstructorInfo
se usa para detectar los atributos de un constructor, así como para invocar un constructor. Los objetos se crean llamando a Invoke en un ConstructorInfo
devuelto por el GetConstructors método o GetConstructor de un Type objeto .
Nota
ConstructorInfo hereda de MethodBase varios miembros, como IsGenericMethod, que se pueden usar para examinar métodos genéricos. En los constructores de .NET Framework versión 2.0 no pueden ser genéricos, por lo que estos miembros devuelven false
o null
.
Notas a los implementadores
Cuando hereda de ConstructorInfo
, debe invalidar la siguiente sobrecarga de miembro: Invoke(BindingFlags, Binder, Object[], CultureInfo).
Constructores
ConstructorInfo() |
Inicializa una nueva instancia de la clase ConstructorInfo. |
Campos
ConstructorName |
Representa el nombre del método constructor de clase tal y como está almacenado en los metadatos. Este nombre es siempre ".ctor". Este campo es de solo lectura. |
TypeConstructorName |
Representa el nombre del método constructor de tipo tal y como está almacenado en los metadatos. Este nombre es siempre ".cctor". Esta propiedad es de sólo lectura. |
Propiedades
Attributes |
Obtiene los atributos asociados a este método. (Heredado de MethodBase) |
CallingConvention |
Obtiene un valor que indica las convenciones de llamada de este método. (Heredado de MethodBase) |
ContainsGenericParameters |
Obtiene un valor que indica si el método genérico contiene parámetros de tipo genérico sin asignar. (Heredado de MethodBase) |
CustomAttributes |
Obtiene una colección que contiene los atributos personalizados de este miembro. (Heredado de MemberInfo) |
DeclaringType |
Obtiene la clase que declara este miembro. (Heredado de MemberInfo) |
IsAbstract |
Obtiene un valor que indica si el método es abstracto. (Heredado de MethodBase) |
IsAssembly |
Obtiene un valor que indica si Assembly describe la visibilidad posible de este método o constructor; es decir, el método o el constructor es visible como mucho para otros tipos del mismo ensamblado y no es visible para los tipos derivados fuera del ensamblado. (Heredado de MethodBase) |
IsCollectible |
Obtiene un valor que indica si este objeto MemberInfo forma parte de un ensamblado contenido en un AssemblyLoadContext recopilable. (Heredado de MemberInfo) |
IsConstructedGenericMethod |
Detecta los atributos de un constructor de clase y proporciona acceso a los metadatos del constructor. (Heredado de MethodBase) |
IsConstructor |
Obtiene un valor que indica si el método es un constructor. (Heredado de MethodBase) |
IsFamily |
Obtiene un valor que indica si Family describe la visibilidad de este método o constructor; es decir, el método o el constructor sólo es visible dentro de su clase y clases derivadas. (Heredado de MethodBase) |
IsFamilyAndAssembly |
Obtiene un valor que indica si FamANDAssem describe la visibilidad de este método o constructor; es decir, las clases derivadas pueden llamar al método o constructor, pero sólo si están en el mismo ensamblado. (Heredado de MethodBase) |
IsFamilyOrAssembly |
Obtiene un valor que indica si FamORAssem describe la visibilidad posible de este método o constructor; es decir, las clases derivadas pueden llamar al método o constructor con independencia de dónde se encuentren, así como las clases del mismo ensamblado. (Heredado de MethodBase) |
IsFinal |
Obtiene un valor que indica si este método es |
IsGenericMethod |
Obtiene un valor que indica si el método es genérico. (Heredado de MethodBase) |
IsGenericMethodDefinition |
Obtiene un valor que indica si el método es una definición de método genérico. (Heredado de MethodBase) |
IsHideBySig |
Obtiene un valor que indica si sólo hay un miembro del mismo tipo y con idéntica firma oculto en la clase derivada. (Heredado de MethodBase) |
IsPrivate |
Obtiene un valor que indica si este miembro es privado. (Heredado de MethodBase) |
IsPublic |
Obtiene un valor que indica si éste es un método público. (Heredado de MethodBase) |
IsSecurityCritical |
Obtiene un valor que indica si el método o el constructor actual es crítico para la seguridad o es crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual y, por tanto, puede realizar operaciones críticas. (Heredado de MethodBase) |
IsSecuritySafeCritical |
Obtiene un valor que indica si el método o el constructor actual es crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual; es decir, si puede realizar operaciones críticas y está disponible desde código transparente. (Heredado de MethodBase) |
IsSecurityTransparent |
Obtiene un valor que indica si el método o el constructor actual es transparente en el nivel de confianza actual y, por tanto, no puede realizar operaciones críticas. (Heredado de MethodBase) |
IsSpecialName |
Obtiene un valor que indica si este método tiene un nombre especial. (Heredado de MethodBase) |
IsStatic |
Obtiene un valor que indica si el método es |
IsVirtual |
Obtiene un valor que indica si el método es |
MemberType |
Obtiene un valor de MemberTypes que indica que este miembro es un constructor. |
MemberType |
Cuando se invalida en una clase derivada, obtiene un valor MemberTypes que indica el tipo de miembro: método, constructor, evento, etc. (Heredado de MemberInfo) |
MetadataToken |
Obtiene un valor que identifica un elemento de metadatos. (Heredado de MemberInfo) |
MethodHandle |
Obtiene un identificador para la representación interna de metadatos de un método. (Heredado de MethodBase) |
MethodImplementationFlags |
Obtiene las marcas MethodImplAttributes que especifican los atributos de una implementación de método. (Heredado de MethodBase) |
Module |
Obtiene el módulo en el que el tipo que declara el miembro representado por el objeto MemberInfo actual está definido. (Heredado de MemberInfo) |
Name |
Obtiene el nombre del miembro actual. (Heredado de MemberInfo) |
ReflectedType |
Obtiene el objeto de la clase utilizado para obtener esta instancia de |
Métodos
Equals(Object) |
Devuelve un valor que indica si esta instancia es igual que un objeto especificado. |
Equals(Object) |
Devuelve un valor que indica si esta instancia es igual que un objeto especificado. (Heredado de MethodBase) |
GetCustomAttributes(Boolean) |
Cuando se reemplaza en una clase derivada, devuelve una matriz de todos los atributos personalizados aplicados a este miembro. (Heredado de MemberInfo) |
GetCustomAttributes(Type, Boolean) |
Cuando se invalida en una clase derivada, devuelve una matriz de atributos personalizados aplicados a este miembro e identificado por Type. (Heredado de MemberInfo) |
GetCustomAttributesData() |
Devuelve una lista de objetos CustomAttributeData que representan datos sobre los atributos que se aplicaron al miembro de destino. (Heredado de MemberInfo) |
GetGenericArguments() |
Devuelve una matriz de objetos Type que representan los argumentos de tipo de un método genérico o los parámetros de tipo de una definición de método genérico. (Heredado de MethodBase) |
GetHashCode() |
Devuelve el código hash de esta instancia. |
GetHashCode() |
Devuelve el código hash de esta instancia. (Heredado de MethodBase) |
GetMethodBody() |
Cuando se reemplaza en una clase derivada, obtiene un objeto MethodBody que proporciona el acceso a la secuencia de MSIL, las variables locales y las excepciones del método actual. (Heredado de MethodBase) |
GetMethodImplementationFlags() |
Cuando se reemplaza en una clase derivada, devuelve las marcas MethodImplAttributes. (Heredado de MethodBase) |
GetParameters() |
Cuando se reemplaza en una clase derivada, obtiene los parámetros del método o constructor especificado. (Heredado de MethodBase) |
GetType() |
Detecta los atributos de un constructor de clase y proporciona acceso a los metadatos del constructor. |
GetType() |
Detecta los atributos de un constructor de clase y proporciona acceso a los metadatos del constructor. (Heredado de MethodBase) |
HasSameMetadataDefinitionAs(MemberInfo) |
Detecta los atributos de un constructor de clase y proporciona acceso a los metadatos del constructor. (Heredado de MemberInfo) |
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Al implementarse en una clase derivada, invoca al constructor reflejado por esta instancia de |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Cuando se reemplaza en una clase derivada, invoca el método o constructor reflejado con los parámetros especificados. (Heredado de MethodBase) |
Invoke(Object, Object[]) |
Invoca el método o constructor representado por la instancia actual, utilizando los parámetros especificados. (Heredado de MethodBase) |
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. |
IsDefined(Type, Boolean) |
Cuando se reemplaza en una clase derivada, indica si se aplican a este miembro uno o más atributos del tipo especificado o de sus tipos derivados. (Heredado de MemberInfo) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Operadores
Equality(ConstructorInfo, ConstructorInfo) |
Indica si dos objetos ConstructorInfo son iguales. |
Inequality(ConstructorInfo, ConstructorInfo) |
Indica si dos objetos ConstructorInfo no son iguales. |
Implementaciones de interfaz explícitas
_ConstructorInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. |
_ConstructorInfo.GetType() |
Obtiene un objeto Type que representa el tipo de ConstructorInfo. |
_ConstructorInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz. |
_ConstructorInfo.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). |
_ConstructorInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a las propiedades y los métodos expuestos por un objeto. |
_ConstructorInfo.Invoke_2(Object, BindingFlags, Binder, Object[], CultureInfo) |
Proporciona el acceso independiente de la versión de los objetos COM al método Invoke(Object, BindingFlags, Binder, Object[], CultureInfo). |
_ConstructorInfo.Invoke_3(Object, Object[]) |
Proporciona el acceso independiente de la versión de los objetos COM al método Invoke(Object, Object[]). |
_ConstructorInfo.Invoke_4(BindingFlags, Binder, Object[], CultureInfo) |
Proporciona el acceso independiente de la versión de los objetos COM al método Invoke(BindingFlags, Binder, Object[], CultureInfo). |
_ConstructorInfo.Invoke_5(Object[]) |
Proporciona el acceso independiente de la versión de los objetos COM al método Invoke(Object[]). |
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Heredado de MemberInfo) |
_MemberInfo.GetType() |
Objeto Type que representa la clase MemberInfo. (Heredado de MemberInfo) |
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz. (Heredado de MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Heredado de MemberInfo) |
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Heredado de MemberInfo) |
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Heredado de MethodBase) |
_MethodBase.GetType() |
Para obtener una descripción de este miembro, vea GetType(). (Heredado de MethodBase) |
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz. (Heredado de MethodBase) |
_MethodBase.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Heredado de MethodBase) |
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Heredado de MethodBase) |
_MethodBase.IsAbstract |
Para obtener una descripción de este miembro, vea IsAbstract. (Heredado de MethodBase) |
_MethodBase.IsAssembly |
Para obtener una descripción de este miembro, vea IsAssembly. (Heredado de MethodBase) |
_MethodBase.IsConstructor |
Para obtener una descripción de este miembro, vea IsConstructor. (Heredado de MethodBase) |
_MethodBase.IsFamily |
Para obtener una descripción de este miembro, vea IsFamily. (Heredado de MethodBase) |
_MethodBase.IsFamilyAndAssembly |
Para obtener una descripción de este miembro, vea IsFamilyAndAssembly. (Heredado de MethodBase) |
_MethodBase.IsFamilyOrAssembly |
Para obtener una descripción de este miembro, vea IsFamilyOrAssembly. (Heredado de MethodBase) |
_MethodBase.IsFinal |
Para obtener una descripción de este miembro, vea IsFinal. (Heredado de MethodBase) |
_MethodBase.IsHideBySig |
Para obtener una descripción de este miembro, vea IsHideBySig. (Heredado de MethodBase) |
_MethodBase.IsPrivate |
Para obtener una descripción de este miembro, vea IsPrivate. (Heredado de MethodBase) |
_MethodBase.IsPublic |
Para obtener una descripción de este miembro, vea IsPublic. (Heredado de MethodBase) |
_MethodBase.IsSpecialName |
Para obtener una descripción de este miembro, vea IsSpecialName. (Heredado de MethodBase) |
_MethodBase.IsStatic |
Para obtener una descripción de este miembro, vea IsStatic. (Heredado de MethodBase) |
_MethodBase.IsVirtual |
Para obtener una descripción de este miembro, vea IsVirtual. (Heredado de MethodBase) |
ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Devuelve una matriz de todos los atributos personalizados definidos en este miembro, excluidos los atributos con nombre, o una matriz vacía si no hay atributos personalizados. (Heredado de MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Devuelve una matriz de atributos personalizados definidos en este miembro, identificados por tipo, o una matriz vacía si no hay atributos personalizados de ese tipo. (Heredado de MemberInfo) |
ICustomAttributeProvider.IsDefined(Type, Boolean) |
Indica si una o más instancias de |
Métodos de extensión
GetCustomAttribute(MemberInfo, Type) |
Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
GetCustomAttribute<T>(MemberInfo) |
Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
GetCustomAttributes(MemberInfo) |
Recupera una colección de atributos personalizados que se aplican a un miembro especificado. |
GetCustomAttributes(MemberInfo, Boolean) |
Recupera una colección de atributos personalizados que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
GetCustomAttributes(MemberInfo, Type) |
Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
GetCustomAttributes<T>(MemberInfo) |
Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
Recupera una colección de atributos personalizados de un tipo especificado que se aplican a un miembro concreto y, opcionalmente, inspecciona los antecesores de dicho miembro. |
IsDefined(MemberInfo, Type) |
Indica si se deben aplicar atributos personalizados de un tipo especificado a un miembro especificado. |
IsDefined(MemberInfo, Type, Boolean) |
Indica si los atributos personalizados de un tipo especificado se aplican a un miembro especificado y, opcionalmente, se aplican a sus antecesores. |
GetMetadataToken(MemberInfo) |
Obtiene un token de metadatos del miembro determinado, si está disponible. |
HasMetadataToken(MemberInfo) |
Devuelve un valor que indica si un token de metadatos está disponible para el miembro especificado. |
Se aplica a
Seguridad para subprocesos
Este tipo es seguro para la ejecución de subprocesos.