类型构造器被用来初始化类型中的静态数据。类型构造器在该类型的任何实例被创建之前通过公共语言运行时(CLR)而被调用。类型构造器是静态的(在 Visual Basic 中是 Shared)并且不能够获取参数。
下列指导方针有助于确保你在使用静态构造器的时候遵循了最佳实践。
把类型构造器定义成私有的。
类型构造器,同样被称作类构造器或静态构造器,它被用来初始化一个类型。CLR 会在该类型的第一个实例被创建或该类型的任何静态成员被调用之前对类型构造器进行调用。如果对于在构造器中被完成的操作产生依赖,就有可能导致不可预料的行为。
不要从类型构造器中抛出异常。
如果类型构造器抛出了一个异常,那么在异常被抛出之后,类型将不再在应用程序的域中可用。
考虑初始化内嵌的静态字段要胜于明确地使用静态构造器,因为 CLR 能够对没有明确定义静态构造器的类型进行性能优化。
下列代码范例演示了一个不能够被优化的设计。
public class BadStaticExample
{
static Guid runId;
static BadStaticExample()
{
runId = Guid.NewGuid();
}
// 其他成员 ...
}而下列代码范例就能够被优化。
public class GoodStaticExample
{
static Guid runId = Guid.NewGuid();
// 其他成员 ...
}
浙公网安备 33010602011771号