La documentation msdn indique l'ajout d'importations d'espaces de noms à la collection CodeNamespace.Imports. Ce qui les met à l'intérieur de l'espace de noms (ce qui est logique, puisque votre en les ajoutant à l'espace de noms)Existe-t-il un moyen pour que CodeDom utilise des instructions avant l'espace de noms?
namespace Foo
{
using Bar;
//Code
}
Cependant, le reste de notre base de code a l'aide d'instructions en dehors de l'espace de noms:
using Bar;
namespace Foo
{
//Code
}
Y at-il un moyen propre à obtenir CodeDom pour émettre la deuxième version?
Edit: le code pour produire le premier exemple ressemble à ceci:
CodeNamespace ns = new CodeNamespace("Foo");
ns.Imports.Add(new CodenamespaceImport("Bar"));
CodeCompileUnit cu = new CodeCompileUnit();
cu.Namespaces.Add(ns);
new CSharpCodeProvider().GenerateCodeFromCompileUnit(cu, Console.Out, null);
Eh oui. ça marche. Yay necro réponses! –
merci; Je m'étais demandé à ce sujet ... un +1 sincère pour le Frankenanswer, et aussi +1 pour le necrocomment spoooooky louant la réponse necro. :) et + ♥♥ puisque c'est le bon moment pour des trucs necro fantasmagoriques et Frankenthings. ;) – shelleybutterfly