CodeDom et les constructeurs publiques

Résolu
cs_yoannd Messages postés 305 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 août 2011 - 12 oct. 2007 à 19:02
cs_yoannd Messages postés 305 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 août 2011 - 13 oct. 2007 à 14:16
Bonjour,

Je souhaite créer un programme qui utilise le namespace CodeDom pour générer automatiquement du code C#. Je parviens à créer des namespaces, des classes, des membres de classes, ect...
Par contre, ce que je ne parviens pas à faire, c'est créer un constructeur publique et non statique aux classes que je génère.

Exemple :

CodeTypeDeclaration type1 = new CodeTypeDeclaration("Type1");
CodeTypeConstructor constructor2 = new CodeTypeConstructor();
type1.Members.Add( constructor2 );

Ce qui me permet de générer le code suivant :

public class Type1
{
    static Type1()
    {
    }
}

... C'est pas tout à fait ce que je veux : moi, je voudrais que le constructeur soit publique, et non-statique.

Quelqu'un sait comment faire ?

Merci d'avance !

2 réponses

romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
12 oct. 2007 à 20:08
Salut
essaie voir
constructor2.Attributes = MemberAttributes.Public | MemberAttributes.Final;

j'y fais de tête(donc pas vérifier) mais cela devrait etre quelque chose de ce style
++

Se poser les bonnes questions ;) 
apporter les réponses
http://romagny13.over-blog.com/
3
cs_yoannd Messages postés 305 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 août 2011 7
13 oct. 2007 à 14:16
Nan, c'est pas ca ^^
Mais merci de ton aide !  :-D
La bonne réponse était :

CodeConstructor

construtor =
new
CodeConstructor();construtor.Attributes =

MemberAttributes.Public;

... Ouais, en fait, faut utiliser CodeConstructor, et non CodeTypeConstructor.
3
Rejoignez-nous