我想创建一个带有嵌套枚举的类。
public class Foo
{
public enum Views
{
}
}
但是System.Reflection.Emit.TypeBuilder类没有DefineNestedEnum只有DefinedNestedType。 ModuleBuilder.DefineEnum存在,让我创建一个枚举,但我发现没有办法让它嵌套。我可以创建枚举而不伪造它(即使用EnumBuilder)吗?
我将我的解决方案移到了下面的答案中。
答案 0 :(得分:3)
请参阅this article末尾的示例,它完全符合您的要求。 (您使用带有正确参数的DefineNestedType)
答案 1 :(得分:1)
移动我的回答我把问题放在这里。
我唯一能想到的是将嵌套类型定义为密封类,扩展System.Enum并使用常量值定义public | static | literal字段。这基本上是C#编译器基于我通过反汇编学到的东西所做的事情。如果我这样做并引用程序集,Intellisense会将其识别为枚举,并且就像枚举一样。
这正是MSDN显示Jeremy链接的方法。