Je voudrais savoir s'il existe un bon moyen de produire du code C# de manière programmatique sans manipuler des chaînes de caractères ou des StringBuilders. De plus, il faudrait vérifier si le code se compile, mais je suppose que cela peut être fait en utilisant CSharpCodeProvider.
Je cherche quelque chose comme ce qui suit :
CodeUnit unit = new CodeUnit();
unit.AddDefaultUsings();
unit.AddUsing("MyApi.CoolNameSpace", "MyApi.Yay");
var clazz = unit.AddClass("GeneratedClass", Access.Public);
clazz.AddConstructor("....");
if(unit.Compile() != true)
//oh dang, somethings wrong!
else unit.WriteUTF8To("GeneratedClass.cs");
Cela pourrait faire partie de la bibliothèque de base (je ne pense pas que CSharpCodeProvider puisse faire cela ?) ou d'une bibliothèque externe, mais ce n'est pas du tout mon fort (produire dynamiquement du code en utilisant c#), donc si cela semble être une erreur, c'est parce que je le suis !