Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Type.GetConstructor, méthode (Type[])

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.

Implémentations

_Type.GetConstructor(Type[])
Exception Condition
ArgumentNullException

types est null.

ou

Un des éléments dans 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 acceptant BindingFlags et spécifiez BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic en Visual Basic). Vous pouvez également obtenir l'initialiseur de classe à l'aide de la propriété TypeInitializer.

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

Remarque Remarque

Vous ne pouvez pas omettre de paramètres lorsque vous cherchez les constructeurs et méthodes. Vous pouvez uniquement omettre les paramètres lors de l'appel.

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

L'exemple suivant obtient le type de MyClass et l'objet ConstructorInfo, puis 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

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ