在 C# 中使用 CodeDom 生成嵌套命名空间
Generating nested namespaces using CodeDom with 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.
据我所知,你是对的,这是不可能的。
可以生成以下等效代码:
namespace Enums.MoreSpecificEnums
{
public enum AnEnum
{
FirstValue = 0,
SecondValue = 1,
}
}
我想使用 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.
据我所知,你是对的,这是不可能的。
可以生成以下等效代码:
namespace Enums.MoreSpecificEnums
{
public enum AnEnum
{
FirstValue = 0,
SecondValue = 1,
}
}