我正在使用Reflection.Emit生成一个动态程序集,并且一切正常,但是由于以下代码,生成的类被标记为internal sealed
:
var typeBuilder = moduleBuilder.DefineType("MyNamespace.Program", TypeAttributes.Class | TypeAttributes.Sealed);
我没有任何暗示
TypeAttributes
的static
成员。这似乎不只是编译器的便利,因为我可以看到手动编写的类在反射器工具中显示为static
。如何将自己的类型标记为静态?
最佳答案
使用以下命令使其正常工作:
var builderType = builderModule.DefineType("MyNamespace.Program", TypeAttributes.Class | TypeAttributes.NotPublic | TypeAttributes.Sealed | TypeAttributes.Abstract);
这给出了我想要的
internal static
。