La documentazione di msdn dice aggiungere le importazioni di spazi dei nomi nello spazio CodeNamespace. Questo li mette dentro lo spazio dei nomi (che ha un senso, dal momento che l'aggiungendoli al namespace)C'è un modo per fare in modo che CodeDom inserisca le istruzioni prima dello spazio dei nomi
namespace Foo
{
using Bar;
//Code
}
Tuttavia il resto della nostra base di codice è utilizzando le istruzioni al di fuori dello spazio dei nomi:
using Bar;
namespace Foo
{
//Code
}
Esiste un modo pulito per ottenere CodeDom per emettere la seconda versione?
Edit: il codice per produrre il primo esempio simile a questa:
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);
Yup. che funzioni. Yay necro risponde! –
grazie; Mi stavo chiedendo questo ... un accorato +1 per il Frankenanswer, e anche +1 per lo spiacevole necrocomment che elogiava la risposta necro. :) e + ♥♥ dato che è il momento giusto per roba spettrale di necro e Frankenthings. ;) – shelleybutterfly