ConstructorInfo Clase

Definición

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

Note

ConstructorInfo hereda de MethodBase varios miembros, como IsGenericMethod, que se puede 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

Al heredar de ConstructorInfo, debe invalidar la siguiente sobrecarga de miembro: Invoke(BindingFlags, Binder, Object[], CultureInfo).

Constructores

Nombre Description
ConstructorInfo()

Inicializa una nueva instancia de la clase ConstructorInfo.

Campos

Nombre Description
ConstructorName

Representa el nombre del método constructor de clase tal como se almacena en los metadatos. Este nombre siempre es ".ctor". Este campo es de sólo lectura.

TypeConstructorName

Representa el nombre del método constructor de tipo tal como se almacena en los metadatos. Este nombre siempre es ".cctor". Esta propiedad es de solo lectura.

Propiedades

Nombre Description
Attributes

Obtiene los atributos asociados a este método.

(Heredado de MethodBase)
CallingConvention

Obtiene un valor que indica las convenciones de llamada para 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 la posible visibilidad de este método o constructor se describe mediante Assembly; es decir, el método o constructor es visible como máximo para otros tipos del mismo ensamblado y no es visible para los tipos derivados fuera del ensamblado.

(Heredado de MethodBase)
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 la visibilidad de este método o constructor se describe mediante Family; es decir, el método o constructor solo está visible dentro de su clase y clases derivadas.

(Heredado de MethodBase)
IsFamilyAndAssembly

Obtiene un valor que indica si la visibilidad de este método o constructor se describe mediante FamANDAssem; es decir, las clases derivadas pueden llamar al método o constructor, pero solo si están en el mismo ensamblado.

(Heredado de MethodBase)
IsFamilyOrAssembly

Obtiene un valor que indica si la posible visibilidad de este método o constructor se describe mediante FamORAssem; es decir, las clases derivadas pueden llamar al método o constructor dondequiera que estén y por clases del mismo ensamblado.

(Heredado de MethodBase)
IsFinal

Obtiene un valor que indica si este método es final.

(Heredado de MethodBase)
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 solo un miembro del mismo tipo con exactamente la misma firma está 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 se trata de un método público.

(Heredado de MethodBase)
IsSecurityCritical

Obtiene un valor que indica si el método o constructor actual es crítico para la seguridad o crítico para la seguridad 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 constructor actual es crítico para la seguridad en el nivel de confianza actual; es decir, si puede realizar operaciones críticas y se puede acceder a ellas mediante código transparente.

(Heredado de MethodBase)
IsSecurityTransparent

Obtiene un valor que indica si el método o 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 static.

(Heredado de MethodBase)
IsVirtual

Obtiene un valor que indica si el método es virtual.

(Heredado de MethodBase)
MemberType

Obtiene un MemberTypes valor que indica que este miembro es un constructor.

MetadataToken

Obtiene un valor que identifica un elemento de metadatos.

(Heredado de MemberInfo)
MethodHandle

Obtiene un identificador de la representación de metadatos interna de un método.

(Heredado de MethodBase)
MethodImplementationFlags

Obtiene las MethodImplAttributes marcas que especifican los atributos de una implementación de método.

(Heredado de MethodBase)
Module

Obtiene el módulo en el que se define el tipo que declara el miembro representado por el actual MemberInfo .

(Heredado de MemberInfo)
Name

Obtiene el nombre del miembro actual.

(Heredado de MemberInfo)
ReflectedType

Obtiene el objeto de clase que se usó para obtener esta instancia de MemberInfo.

(Heredado de MemberInfo)

Métodos

Nombre Description
Equals(Object)

Devuelve un valor que indica si esta instancia es igual a un objeto especificado.

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 reemplaza en una clase derivada, devuelve una matriz de atributos personalizados aplicados a este miembro y identificados por Type.

(Heredado de MemberInfo)
GetCustomAttributesData()

Devuelve una lista de CustomAttributeData objetos que representan datos sobre los atributos que se han aplicado al miembro de destino.

(Heredado de MemberInfo)
GetGenericArguments()

Devuelve una matriz de Type objetos 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.

GetMethodBody()

Cuando se reemplaza en una clase derivada, obtiene un MethodBody objeto que proporciona acceso a la secuencia de MSIL, las variables locales y las excepciones para el método actual.

(Heredado de MethodBase)
GetMethodImplementationFlags()

Cuando se invalida en una clase derivada, devuelve las MethodImplAttributes marcas .

(Heredado de MethodBase)
GetParameters()

Cuando se reemplaza en una clase derivada, obtiene los parámetros del método o constructor especificados.

(Heredado de MethodBase)
GetType()

Detecta los atributos de un constructor de clase y proporciona acceso a los metadatos del constructor.

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)

Cuando se implementa en una clase derivada, invoca al constructor reflejado por este ConstructorInfo con los argumentos especificados, bajo las restricciones del especificado Binder.

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

Cuando se invalida en una clase derivada, invoca el método o constructor reflejados con los parámetros especificados.

(Heredado de MethodBase)
Invoke(Object, Object[])

Invoca el método o constructor representado por la instancia actual mediante los parámetros especificados.

(Heredado de MethodBase)
Invoke(Object[])

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

IsDefined(Type, Boolean)

Cuando se reemplaza en una clase derivada, indica si uno o varios atributos del tipo especificado o de sus tipos derivados se aplican a este miembro.

(Heredado de MemberInfo)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Operadores

Nombre Description
Equality(ConstructorInfo, ConstructorInfo)

Indica si dos ConstructorInfo objetos son iguales.

Inequality(ConstructorInfo, ConstructorInfo)

Indica si dos ConstructorInfo objetos no son iguales.

Implementaciones de interfaz explícitas

Nombre Description
_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 Type objeto que representa el ConstructorInfo tipo.

_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_2(Object, BindingFlags, Binder, Object[], CultureInfo)

Proporciona objetos COM con acceso independiente de la versión al Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) método .

_ConstructorInfo.Invoke_3(Object, Object[])

Proporciona objetos COM con acceso independiente de la versión al Invoke(Object, Object[]) método .

_ConstructorInfo.Invoke_4(BindingFlags, Binder, Object[], CultureInfo)

Proporciona objetos COM con acceso independiente de la versión al Invoke(BindingFlags, Binder, Object[], CultureInfo) método .

_ConstructorInfo.Invoke_5(Object[])

Proporciona objetos COM con acceso independiente de la versión al Invoke(Object[]) método .

_ConstructorInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a propiedades y métodos expuestos por un objeto .

_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()

Obtiene un Type objeto que representa la MemberInfo clase .

(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 propiedades y 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 propiedades y 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, excepto 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, identificado por tipo o una matriz vacía si no hay atributos personalizados de ese tipo.

(Heredado de MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Indica si se define una o varias instancias de attributeType en este miembro.

(Heredado de MemberInfo)

Métodos de extensión

Nombre Description
GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro especificado y, opcionalmente, inspecciona los antecesores de ese miembro.

GetCustomAttribute(MemberInfo, Type)

Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro especificado.

GetCustomAttribute<T>(MemberInfo, Boolean)

Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro especificado y, opcionalmente, inspecciona los antecesores de ese miembro.

GetCustomAttribute<T>(MemberInfo)

Recupera un atributo personalizado de un tipo especificado que se aplica a un miembro especificado.

GetCustomAttributes(MemberInfo, Boolean)

Recupera una colección de atributos personalizados que se aplican a un miembro especificado y, opcionalmente, inspecciona los antecesores de ese miembro.

GetCustomAttributes(MemberInfo, Type, Boolean)

Recupera una colección de atributos personalizados de un tipo especificado que se aplica a un miembro especificado y, opcionalmente, inspecciona los antecesores de ese miembro.

GetCustomAttributes(MemberInfo, Type)

Recupera una colección de atributos personalizados de un tipo especificado que se aplica a un miembro especificado.

GetCustomAttributes(MemberInfo)

Recupera una colección de atributos personalizados que se aplican a un miembro especificado.

GetCustomAttributes<T>(MemberInfo, Boolean)

Recupera una colección de atributos personalizados de un tipo especificado que se aplica a un miembro especificado y, opcionalmente, inspecciona los antecesores de ese miembro.

GetCustomAttributes<T>(MemberInfo)

Recupera una colección de atributos personalizados de un tipo especificado que se aplica 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.

IsDefined(MemberInfo, Type)

Indica si los atributos personalizados de un tipo especificado se aplican a un miembro especificado.

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para subprocesos.