Документация msdn говорит, что добавление имён импорта в коллекцию CodeNamespace.Imports. Это ставит их в пространстве имен (что имеет смысл, так как ваши добавления их к пространству имен)Можно ли использовать CodeDom с использованием операторов перед пространством имен
namespace Foo
{
using Bar;
//Code
}
Однако остальная часть нашего кода база используя операторы вне пространства имен:
using Bar;
namespace Foo
{
//Code
}
Есть чистый способ заставить CodeDom испускать вторую версию?
Edit: код для получения первого примера выглядит примерно так:
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);
Угу. это работает. Yay necro отвечает! –
спасибо; Мне было интересно об этом ... сердечном +1 для Frankenanswer, а также +1 для ложного некромента, восхваляющего ответ некро. :) и + ♥♥, так как это подходящее время для жутких некровых вещей и Франклингов. ;) – shelleybutterfly