Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Type.GetConstructor (Método) (Type[])

Busca un constructor de instancia público cuyos parámetros coincidan con los tipos de la matriz especificada.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

[ComVisibleAttribute(true)]
public ConstructorInfo GetConstructor(
	Type[] types
)

Parámetros

types
Tipo: System.Type[]
Matriz de objetos Type que representa el número, el orden y el tipo de los parámetros del constructor deseado.
O bien
Matriz vacía de objetos Type, para obtener un constructor que no requiera parámetros. El campo staticType.EmptyTypes proporciona dicha matriz vacía.

Valor devuelto

Tipo: System.Reflection.ConstructorInfo
Objeto que representa el constructor de instancia público cuyos parámetros coinciden con los tipos de la matriz de tipos de parámetro, si se encuentra; de lo contrario, es null.

Implementaciones

_Type.GetConstructor(Type[])

ExcepciónCondición
ArgumentNullException

types es null.

O bien

Uno de los elementos de types es null.

ArgumentException

types es multidimensional.

Esta sobrecarga de método busca constructores de instancias públicos y no se puede utilizar para obtener un inicializador de clase (.cctor). Para obtener un inicializador de clase, se usa una sobrecarga que toma BindingFlags y se especifica BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic en Visual Basic). Este inicializador de clase se puede obtener también mediante la propiedad TypeInitializer.

Si el constructor solicitado no es público, este método devuelve null.

NotaNota

No se pueden omitir parámetros cuando se consultan constructores y métodos. Solo se pueden omitir parámetros al realizar llamadas.

Si el objeto Type actual representa un tipo genérico construido, este método devuelve ConstructorInfo con los parámetros de tipo sustituidos por los argumentos de tipo adecuados. Si el objeto Type actual representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, este método siempre devuelve null.

En el siguiente ejemplo se obtiene el tipo de MyClass, se obtiene el objeto ConstructorInfo y se muestra la firma del constructor.



using System;
using System.Reflection;
using System.Security;

public class MyClass1
{
    public MyClass1(){}
    public MyClass1(int i){}

    public static void Main()
    {
        try
        {
            Type myType = typeof(MyClass1);
            Type[] types = new Type[1];
            types[0] = typeof(int);
            // Get the constructor that takes an integer as a parameter.
            ConstructorInfo constructorInfoObj = myType.GetConstructor(types);
            if (constructorInfoObj != null)
            {
                Console.WriteLine("The constructor of MyClass1 that takes an " + 
                    "integer as a parameter is: "); 
                Console.WriteLine(constructorInfoObj.ToString());
            }
            else
            {
                Console.WriteLine("The constructor of MyClass1 that takes an integer " +
                    "as a parameter is not available."); 
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception caught.");
            Console.WriteLine("Source: " + e.Source);
            Console.WriteLine("Message: " + e.Message);
        }
    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft