2016-01-06 79 views
2

我想使用CodeDom生成一些包含嵌套命名空间中的一些自定义枚举的代码。使用CodeDom生成嵌套命名空间C#

例子:

namespace Enums 
{ 
    namespace MoreSpecificEnums 
    { 
     public enum AnEnum 
     { 
      FirstValue = 0, 
      SecondValue = 1, 
     } 
    } 
} 

我可以创建枚举命名空间很好,但我似乎无法弄清楚如何添加里面的MoreSpecificEnums命名空间。有人能指引我朝着正确的方向吗?

 CodeNamespace enumNamespace = new CodeNamespace("Enums"); 
     compileUnit.Namespaces.Add(enumNamespace); 
     CodeNamespace msEnumNamespace = new CodeNamespace("MoreSpecificEnums"); 
     // Now I'm stuck, where do I plug msEnumNamespace in? 
     // enumNamespace doesn't have a Namespaces array like the compileUnit. 

回答

1

据我所知,你是对的,这是不可能的。

什么是可能是产生这种等效代码:

namespace Enums.MoreSpecificEnums 
{ 
    public enum AnEnum 
    { 
     FirstValue = 0, 
     SecondValue = 1, 
    } 
} 
+0

这工作就像一个魅力。谢谢svick! – JBeFat