Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Type.GetConstructor (Type[])

 

Publicado: octubre de 2016

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
Type: 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

Type: 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.

Exception Condition
ArgumentNullException

El valor de 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 usar para obtener a un inicializador de clase (.cctor). Para obtener un inicializador de clase, use una sobrecarga que toma BindingFlagsy especifique BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic). También puede obtener el inicializador de clase utilizando la TypeInitializer propiedad.

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

System_CAPS_noteNota

No se puede omitir los parámetros al buscar constructores y métodos. Solo puede omitir los parámetros al invocar.

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

En el ejemplo siguiente se obtiene el tipo de MyClass, obtiene la ConstructorInfo del objeto 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
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: