Генерация вложенных пространств имен с помощью CodeDom с C#

Я хотел бы использовать 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.

person JBeFat    schedule 06.01.2016    source источник


Ответы (1)


Насколько я могу судить, вы правы, что это невозможно.

Что возможно, так это сгенерировать этот эквивалентный код:

namespace Enums.MoreSpecificEnums
{
     public enum AnEnum
     {
         FirstValue = 0,
         SecondValue = 1,
     }
}
person svick    schedule 08.01.2016