静态的 TypeAttribute 类
TypeAttribute for static classes
我正在尝试通过 Reflection.Emit, but I can't manage to find a TypeAttribute that will define the type as static 定义一个新类型。
例如,假设我要创建以下类型:
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 { }
将产生:
AutoLayout, AnsiClass, Class, Public, Abstract, Sealed, BeforeFieldInit
AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
我正在尝试通过 Reflection.Emit, but I can't manage to find a TypeAttribute that will define the type as static 定义一个新类型。
例如,假设我要创建以下类型:
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 { }
将产生:
AutoLayout, AnsiClass, Class, Public, Abstract, Sealed, BeforeFieldInit
AutoLayout, AnsiClass, Class, Public, BeforeFieldInit