静态类的TypeAttribute
作者:互联网
我正在尝试通过Reflection.Emit定义新类型,但是我找不到设法将类型定义为static的TypeAttribute.
例如,假设我要创建以下类型:
public static class Hello
{
}
我可以识别以下属性:
TypeAttributes.Class
TypeAttributes.Public
但是和那有什么不同
public class Hello
{
}
我当时想添加TypeAttributes.Abstract(因为无法实例化它),但是我不确定,因为抽象类完全不同.
解决方法:
您可以使用反射来查看c#编译器在每种情况下将生成的内容.
public class Program
{
public static void Main()
{
Console.WriteLine(typeof(StaticClass).Attributes);
Console.WriteLine(typeof(NotStaticClass).Attributes);
}
}
public static class StaticClass { }
public class NotStaticClass { }
将产生:
自动布局,AnsiClass,类,公共,抽象,密封,BeforeFieldInit
自动布局,AnsiClass,类,公共,BeforeFieldInit
标签:reflection-emit,reflection,types,c,net 来源: https://codeday.me/bug/20191119/2036329.html