В документации MSDN говорится, добавляют, что пространства имен импортируют в CodeNamespace. Набор импорта. Это помещает их в пространстве имен (который имеет смысл, начиная с Вашего добавления их к пространству имен),
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);