Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Type.GetConstructor méthode (Type[])

 

Date de publication : novembre 2016

Recherche un constructeur d'instance public dont les paramètres correspondent aux types contenus dans le tableau spécifié.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

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

Paramètres

types
Type: System.Type[]

Tableau d'objets Type représentant le nombre, l'ordre et le type des paramètres du constructeur souhaité.

ou

Tableau vide d'objets Type pour obtenir un constructeur n'acceptant aucun paramètre. Un tel tableau vide est fourni par le champ staticType.EmptyTypes.

Valeur de retour

Type: System.Reflection.ConstructorInfo

Objet représentant le constructeur d'instance public dont les paramètres correspondent aux types contenus dans le tableau de types de paramètres, s'il est trouvé ; sinon, null.

Exception Condition
ArgumentNullException

types a la valeur null.

ou

Un des éléments de types est null.

ArgumentException

types est multidimensionnel.

Cette surcharge de méthode recherche des constructeurs d’instance publics et ne peut pas être utilisée pour obtenir un initialiseur de classe (.cctor). Pour obtenir un initialiseur de classe, utilisez une surcharge qui accepte BindingFlagset spécifiez BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic). Vous pouvez également obtenir l’initialiseur de classe à l’aide de la TypeInitializer propriété.

Si le constructeur demandé est non public, cette méthode retourne null.

System_CAPS_noteRemarque

Vous ne pouvez pas omettre les paramètres lors de la recherche des constructeurs et méthodes. Vous pouvez uniquement omettre les paramètres lors de l’appel.

Si le courant Type représente un type générique construit, cette méthode retourne la ConstructorInfo avec les paramètres de type remplacés par les arguments de type approprié. Si le courant Type représente un paramètre de type dans la définition d’un type générique ou une méthode générique, cette méthode retourne toujours null.

L’exemple suivant obtient le type de MyClass, obtient le ConstructorInfo de l’objet et affiche la signature du constructeur.


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 depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: