Définition d'un constructeur avec l'émission de réflexion
Un constructeur est défini à l'aide de la méthode TypeBuilder.DefineConstructor. DefineConstructor retourne un ConstructorBuilder. DefineConstructor requiert que l'appelant spécifie les attributs du constructeur à l'aide de l'énumération MethodAttributes.
Le constructeur par défaut d'une classe est défini à l'aide de la méthode TypeBuilder.DefineDefaultConstructor. DefineDefaultConstructor retourne un ConstructorBuilder. Le constructeur par défaut appelle simplement le constructeur de la classe parente. Le Common Language Runtime définit automatiquement un constructeur par défaut pour une classe si l'appelant ne le fait pas.
Attributs
Le runtime définit l'attribut MethodAttributes.SpecialName pour le constructeur.
Les constructeurs privés sont spécifiés en utilisant l'attribut MethodAttributes.Private. Consultez la description de l'énumération MethodAttributes pour connaître les autres attributs de visibilité.
Problèmes connus
Bien que la méthode ConstructorBuilder soit dérivée de ConstructorInfo, certaines méthodes abstraites définies dans la classe ConstructorInfo ne sont pas totalement implémentées dans ConstructorBuilder. Ces méthodes ConstructorBuilder lèvent NotSupportedException. La fonctionnalité désirée peut être obtenue en extrayant le type contenant le constructeur et en le reflétant. Par exemple, la méthode ConstructorBuilder.Invoke n'est pas totalement implémentée.
Les modificateurs personnalisés ne sont pas actuellement pris en charge.