msdn文档说添加名称空间导入到CodeNamespace.Imports集合.这将它们放在命名空间内(这是有意义的,因为您将它们添加到命名空间)
namespace Foo
{
using Bar;
//Code
}
Run Code Online (Sandbox Code Playgroud)
但是,我们的代码库的其余部分使用命名空间之外的语句:
using Bar;
namespace Foo
{
//Code
}
Run Code Online (Sandbox Code Playgroud)
是否有一种干净的方式让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);
Run Code Online (Sandbox Code Playgroud) 当使用带有c#的visual studio 2008调试器时,我可以右键单击一个变量并选择"Make Object ID",它允许我观察该对象(通过它的ID),无论它是否在当前堆栈帧中.
当调试器是VB代码时,(无论是从ac#单元测试还是vb单元测试运行)都没有问题.
VB把这个功能放在哪里?或者它是否像许多其他有用的c#功能一样不支持它?