Tag: static initialization

如何在Main()方法之前在C#中运行静态初始化方法?

给定一个带有初始化方法的静态类: public static class Foo { // Class members… internal static init() { // Do some initialization… } } 如何确保在Main()之前运行初始化程序? 我能想到的最好的是将它添加到Foo : private class Initializer { private static bool isDone = false; public Initializer() { if (!isDone) { init(); isDone = true; } } } private static readonly Initializer initializer = new Initializer(); 这有用还是有一些不可预见的警告? 还有更好的方法吗?