В документации msdn говорится, что импорт имён импорта в коллекцию CodeNamespace.Imports. Это помещает их в пространство имен (что имеет смысл, поскольку вы добавляете их в пространство имен)
namespace Foo
{
using Bar;
//Code
}
Однако в остальной части нашей базы кода используются операторы вне пространства имен:
using Bar;
namespace Foo
{
//Code
}
Есть ли чистый способ заставить CodeDom испускать вторую версию?
Изменить: код для создания первого примера выглядит примерно так:
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);