Partager via


ConstructorInfo Classe

Définition

Identifie les attributs d'un constructeur de classe et donne accès aux métadonnées du constructeur.

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
Héritage
ConstructorInfo
Dérivé
Attributs
Implémente

Exemples

L’exemple suivant utilise ConstructorInfo avec GetConstructor et BindingFlags pour rechercher les constructeurs qui correspondent aux critères de recherche spécifiés.

using namespace System;
using namespace System::Reflection;
using namespace System::Security;
public ref class MyClass1
{
public:
   MyClass1( int i ){}

};

int main()
{
   try
   {
      Type^ myType = MyClass1::typeid;
      array<Type^>^types = gcnew array<Type^>(1);
      types[ 0 ] = int::typeid;
      
      // Get the public instance constructor that takes an integer parameter.
      ConstructorInfo^ constructorInfoObj = myType->GetConstructor( static_cast<BindingFlags>(BindingFlags::Instance | BindingFlags::Public), nullptr, CallingConventions::HasThis, types, nullptr );
      if ( constructorInfoObj != nullptr )
      {
         Console::WriteLine( "The constructor of MyClass1 that is a public instance method and takes an integer as a parameter is: " );
         Console::WriteLine( constructorInfoObj );
      }
      else
      {
         Console::WriteLine( "The constructor of MyClass1 that is a public instance method and takes an integer as a parameter is not available." );
      }
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "ArgumentNullException: {0}", e->Message );
   }
   catch ( ArgumentException^ e ) 
   {
      Console::WriteLine( "ArgumentException: {0}", e->Message );
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "SecurityException: {0}", e->Message );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception: {0}", e->Message );
   }
}
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

Remarques

ConstructorInfo est utilisé pour découvrir les attributs d’un constructeur ainsi que pour appeler un constructeur. Les objets sont créés en appelant Invoke sur un ConstructorInfo retourné par la GetConstructors méthode ou GetConstructor d’un Type objet .

Notes

ConstructorInfo hérite de MethodBase plusieurs membres, tels que IsGenericMethod, qui peuvent être utilisés pour examiner les méthodes génériques. Dans le .NET Framework version 2.0, les constructeurs ne peuvent pas être génériques, de sorte que ces membres retournent false ou null.

Notes pour les responsables de l’implémentation

Lorsque vous héritez de ConstructorInfo, vous devez remplacer la surcharge de membre suivante : Invoke(BindingFlags, Binder, Object[], CultureInfo).

Constructeurs

ConstructorInfo()

Initialise une nouvelle instance de la classe ConstructorInfo.

Champs

ConstructorName

Représente le nom de la méthode de constructeur de classe tel qu'il est stocké dans les métadonnées. Ce nom est toujours ".ctor". Ce champ est en lecture seule.

TypeConstructorName

Représente le nom de la méthode de constructeur de type tel qu'il est stocké dans les métadonnées. Ce nom est toujours ".cctor". Cette propriété est en lecture seule.

Propriétés

Attributes

Obtient les attributs associés à cette méthode.

(Hérité de MethodBase)
CallingConvention

Obtient une valeur indiquant les conventions d'appel de cette méthode.

(Hérité de MethodBase)
ContainsGenericParameters

Obtient une valeur indiquant si la méthode générique contient des paramètres de type générique non assignés.

(Hérité de MethodBase)
CustomAttributes

Obtient une collection qui contient les attributs personnalisés de ce membre.

(Hérité de MemberInfo)
DeclaringType

Obtient la classe qui déclare ce membre.

(Hérité de MemberInfo)
IsAbstract

Obtient une valeur indiquant si la méthode est abstraite.

(Hérité de MethodBase)
IsAssembly

Obtient une valeur indiquant si la visibilité potentielle de cette méthode ou de ce constructeur est décrite par Assembly, c'est-à-dire si la méthode ou le constructeur est visible au maximum par d'autres types du même assembly, et n'est pas visible par des types dérivés à l'extérieur de l'assembly.

(Hérité de MethodBase)
IsCollectible

Obtient une valeur qui indique si cet objet MemberInfo fait partie d’un assembly contenu dans un AssemblyLoadContext pouvant être collecté.

(Hérité de MemberInfo)
IsConstructedGenericMethod

Identifie les attributs d'un constructeur de classe et donne accès aux métadonnées du constructeur.

(Hérité de MethodBase)
IsConstructor

Obtient une valeur indiquant si la méthode est un constructeur.

(Hérité de MethodBase)
IsFamily

Obtient une valeur indiquant si la visibilité de cette méthode ou de ce constructeur est décrite par Family, c'est-à-dire si la méthode ou le constructeur est visible uniquement dans sa classe et dans ses classes dérivées.

(Hérité de MethodBase)
IsFamilyAndAssembly

Obtient une valeur indiquant si la visibilité de cette méthode ou de ce constructeur est décrite par FamANDAssem, c'est-à-dire si la méthode ou le constructeur peut être appelé par des classes dérivées, mais uniquement si elles se trouvent dans le même assembly.

(Hérité de MethodBase)
IsFamilyOrAssembly

Obtient une valeur indiquant si la visibilité potentielle de cette méthode ou de ce constructeur est décrite par FamORAssem, c'est-à-dire si la méthode ou le constructeur peut être appelé par des classes dérivées où qu'elles se trouvent, et par des classes du même assembly.

(Hérité de MethodBase)
IsFinal

Obtient une valeur indiquant si cette méthode est final.

(Hérité de MethodBase)
IsGenericMethod

Obtient une valeur indiquant si la méthode est générique.

(Hérité de MethodBase)
IsGenericMethodDefinition

Obtient une valeur indiquant si la méthode est une définition de méthode générique.

(Hérité de MethodBase)
IsHideBySig

Obtient une valeur indiquant si seul un membre du même type, doté d'une signature identique, est caché dans la classe dérivée.

(Hérité de MethodBase)
IsPrivate

Obtient une valeur indiquant si ce membre est privé.

(Hérité de MethodBase)
IsPublic

Obtient une valeur indiquant s'il s'agit d'une méthode publique.

(Hérité de MethodBase)
IsSecurityCritical

Obtient une valeur qui indique si la méthode ou le constructeur actuel est critique de sécurité (security-critical) ou critique sécurisé (security-safe-critical) au niveau de confiance actuel et peut par conséquent exécuter des opérations critiques.

(Hérité de MethodBase)
IsSecuritySafeCritical

Obtient une valeur qui indique si la méthode ou le constructeur actuel est critique sécurisé au niveau de confiance actuel ; autrement dit, si la méthode ou le constructeur peut exécuter des opérations critiques et être accessible par du code transparent.

(Hérité de MethodBase)
IsSecurityTransparent

Obtient une valeur qui indique si la méthode ou le constructeur actuel est transparent au niveau de confiance actuel et ne peut par conséquent pas exécuter d'opérations critiques.

(Hérité de MethodBase)
IsSpecialName

Obtient une valeur indiquant si cette méthode est dotée d'un nom spécial.

(Hérité de MethodBase)
IsStatic

Obtient une valeur indiquant si la méthode est static.

(Hérité de MethodBase)
IsVirtual

Obtient une valeur indiquant si la méthode est virtual.

(Hérité de MethodBase)
MemberType

Récupère une valeur MemberTypes indiquant que ce membre est un constructeur.

MemberType

En cas de substitution dans une classe dérivée, récupère une valeur MemberTypes indiquant le type du membre (méthode, constructeur, événement, etc.).

(Hérité de MemberInfo)
MetadataToken

Obtient une valeur qui identifie un élément de métadonnées.

(Hérité de MemberInfo)
MethodHandle

Obtient un handle vers la représentation interne des métadonnées d'une méthode.

(Hérité de MethodBase)
MethodImplementationFlags

Obtient les indicateurs MethodImplAttributes qui spécifient les attributs de l'implémentation d'une méthode.

(Hérité de MethodBase)
Module

Obtient le module dans lequel le type qui déclare le membre représenté par le MemberInfo actuel est défini.

(Hérité de MemberInfo)
Name

Obtient le nom du membre actuel.

(Hérité de MemberInfo)
ReflectedType

Obtient l'objet classe utilisé pour obtenir cette instance de MemberInfo.

(Hérité de MemberInfo)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de MethodBase)
GetCustomAttributes(Boolean)

En cas de substitution dans une classe dérivée, retourne un tableau de tous les attributs personnalisés appliqués à ce membre.

(Hérité de MemberInfo)
GetCustomAttributes(Type, Boolean)

En cas de substitution dans une classe dérivée, retourne un tableau d’attributs personnalisés appliqués à ce membre et identifiés par Type.

(Hérité de MemberInfo)
GetCustomAttributesData()

Renvoie une liste d’objets CustomAttributeData représentant des données sur les attributs qui ont été appliqués au membre cible.

(Hérité de MemberInfo)
GetGenericArguments()

Retourne un tableau d'objets Type qui représentent les arguments de type d'une méthode générique ou les paramètres de type d'une définition de méthode générique.

(Hérité de MethodBase)
GetHashCode()

Retourne le code de hachage de cette instance.

GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de MethodBase)
GetMethodBody()

En cas de substitution dans une classe dérivée, obtient un objet MethodBody qui donne accès au flux MSIL, aux variables locales et aux exceptions pour la méthode actuelle.

(Hérité de MethodBase)
GetMethodImplementationFlags()

Lors du remplacement dans une classe dérivée, retourne les indicateurs MethodImplAttributes.

(Hérité de MethodBase)
GetParameters()

En cas de substitution dans une classe dérivée, obtient les paramètres de la méthode ou du constructeur spécifié.

(Hérité de MethodBase)
GetType()

Identifie les attributs d'un constructeur de classe et donne accès aux métadonnées du constructeur.

GetType()

Identifie les attributs d'un constructeur de classe et donne accès aux métadonnées du constructeur.

(Hérité de MethodBase)
HasSameMetadataDefinitionAs(MemberInfo)

Identifie les attributs d'un constructeur de classe et donne accès aux métadonnées du constructeur.

(Hérité de MemberInfo)
Invoke(BindingFlags, Binder, Object[], CultureInfo)

En cas d'implémentation dans une classe dérivée, appelle le constructeur réfléchi par ce ConstructorInfo, avec les arguments spécifiés, sous les contraintes du Binder spécifié.

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

En cas de substitution dans une classe dérivée, appelle la méthode ou le constructeur réfléchi avec les paramètres donnés.

(Hérité de MethodBase)
Invoke(Object, Object[])

Appelle la méthode ou le constructeur représenté par l’instance actuelle, selon les paramètres spécifiés.

(Hérité de MethodBase)
Invoke(Object[])

Appelle le constructeur réfléchi par l’instance qui dispose des paramètres spécifiés, en fournissant des valeurs par défaut pour les paramètres rarement utilisés.

IsDefined(Type, Boolean)

En cas de substitution dans une classe dérivée, indique si un ou plusieurs attributs du type spécifié ou de ses types dérivés sont appliqués à ce membre.

(Hérité de MemberInfo)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Opérateurs

Equality(ConstructorInfo, ConstructorInfo)

Indique si deux objets ConstructorInfo sont égaux.

Inequality(ConstructorInfo, ConstructorInfo)

Indique si deux objets ConstructorInfo ne sont pas égaux.

Implémentations d’interfaces explicites

_ConstructorInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

_ConstructorInfo.GetType()

Obtient un objet Type qui représente le type ConstructorInfo.

_ConstructorInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface.

_ConstructorInfo.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

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

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

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

Fournit des objets COM avec un accès indépendant de la version à la méthode Invoke(Object, BindingFlags, Binder, Object[], CultureInfo).

_ConstructorInfo.Invoke_3(Object, Object[])

Fournit des objets COM avec un accès indépendant de la version à la méthode Invoke(Object, Object[]).

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

Fournit des objets COM avec un accès indépendant de la version à la méthode Invoke(BindingFlags, Binder, Object[], CultureInfo).

_ConstructorInfo.Invoke_5(Object[])

Fournit des objets COM avec un accès indépendant de la version à la méthode Invoke(Object[]).

_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de MemberInfo)
_MemberInfo.GetType()

Obtient un objet Type représentant la classe MemberInfo.

(Hérité de MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface.

(Hérité de MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de MemberInfo)
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de MethodBase)
_MethodBase.GetType()

Pour obtenir une description de ce membre, consultez GetType().

(Hérité de MethodBase)
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface.

(Hérité de MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de MethodBase)
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de MethodBase)
_MethodBase.IsAbstract

Pour obtenir une description de ce membre, consultez IsAbstract.

(Hérité de MethodBase)
_MethodBase.IsAssembly

Pour obtenir une description de ce membre, consultez IsAssembly.

(Hérité de MethodBase)
_MethodBase.IsConstructor

Pour obtenir une description de ce membre, consultez IsConstructor.

(Hérité de MethodBase)
_MethodBase.IsFamily

Pour obtenir une description de ce membre, consultez IsFamily.

(Hérité de MethodBase)
_MethodBase.IsFamilyAndAssembly

Pour obtenir une description de ce membre, consultez IsFamilyAndAssembly.

(Hérité de MethodBase)
_MethodBase.IsFamilyOrAssembly

Pour obtenir une description de ce membre, consultez IsFamilyOrAssembly.

(Hérité de MethodBase)
_MethodBase.IsFinal

Pour obtenir une description de ce membre, consultez IsFinal.

(Hérité de MethodBase)
_MethodBase.IsHideBySig

Pour obtenir une description de ce membre, consultez IsHideBySig.

(Hérité de MethodBase)
_MethodBase.IsPrivate

Pour obtenir une description de ce membre, consultez IsPrivate.

(Hérité de MethodBase)
_MethodBase.IsPublic

Pour obtenir une description de ce membre, consultez IsPublic.

(Hérité de MethodBase)
_MethodBase.IsSpecialName

Pour obtenir une description de ce membre, consultez IsSpecialName.

(Hérité de MethodBase)
_MethodBase.IsStatic

Pour obtenir une description de ce membre, consultez IsStatic.

(Hérité de MethodBase)
_MethodBase.IsVirtual

Pour obtenir une description de ce membre, consultez IsVirtual.

(Hérité de MethodBase)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Retourne un tableau de tous les attributs personnalisés définis sur ce membre, en dehors des attributs nommés, ou un tableau vide s’il n’y a aucun attribut personnalisé.

(Hérité de MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Retourne un tableau d’attributs personnalisés définis sur ce membre, identifiés par type, ou un tableau vide s’il n’y a aucun attribut personnalisé de ce type.

(Hérité de MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Indique si une ou plusieurs instances de attributeType sont définies sur ce membre.

(Hérité de MemberInfo)

Méthodes d’extension

GetCustomAttribute(MemberInfo, Type)

Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié.

GetCustomAttribute(MemberInfo, Type, Boolean)

Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

GetCustomAttribute<T>(MemberInfo)

Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié.

GetCustomAttribute<T>(MemberInfo, Boolean)

Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

GetCustomAttributes(MemberInfo)

Récupère une collection d'attributs personnalisés qui sont appliqués à un membre spécifié.

GetCustomAttributes(MemberInfo, Boolean)

Récupère une collection d'attributs personnalisés qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

GetCustomAttributes(MemberInfo, Type)

Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié.

GetCustomAttributes(MemberInfo, Type, Boolean)

Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

GetCustomAttributes<T>(MemberInfo)

Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié.

GetCustomAttributes<T>(MemberInfo, Boolean)

Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

IsDefined(MemberInfo, Type)

Indique si des attributs personnalisés d'un type spécifié sont appliqués à un membre spécifié.

IsDefined(MemberInfo, Type, Boolean)

Indique si les attributs personnalisés d'un type spécifié sont appliqués à un membre spécifié, et, éventuellement, appliqués à ses ancêtres.

GetMetadataToken(MemberInfo)

Obtient un jeton de métadonnées pour le membre donné, s’il est disponible.

HasMetadataToken(MemberInfo)

Retourne une valeur qui indique si un jeton de métadonnées est disponible pour le membre spécifié.

S’applique à

Cohérence de thread

Ce type est thread-safe.