使用CodeDom和C#生成嵌套的命名空间

时间:2016-01-06 18:59:18

标签: c# codedom

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

示例:

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

我可以很好地创建Enums命名空间,但我似乎无法弄清楚如何在其中添加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 个答案:

答案 0 :(得分:1)

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

可能的是生成此等效代码:

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