2013-07-15 35 views
3

我有一组静态变量C#负载静态方法上的类加载

static string A; 
static string B; 
static string C; 
... 

,我想初始化的。现在

,我可以做

static string A; 
... 
static string Z = InitializeAllVariables(); 

static void InitializeAllVariables() 
{ 
    /// Initialize all my static variables 
} 

但是这不是很优雅。

是否有办法强制InitializeAllVariables()在类加载上运行,以便我不需要通过静态变量定义显式调用它?

谢谢。

+2

看看静态构造函数。 – MKS

+2

有一个静态构造函数。 'class foo {static foo(){}}' – 2013-07-15 20:47:00

+2

http://msdn.microsoft.com/en-us/library/k9x6w0hc(v=vs.80).aspx –

回答

12

使用静态构造函数。

public static class MyClass 
{ 
    static string A; 
    static string B; 
    static string C; 

    static MyClass() 
    { 
     A = "Hello"; 
     B = "World"; 
     C = "!"; 
    } 
} 
5

使用静态构造函数:

static MyClass() { 

} 
1

这应该这样做:

Static SomeClass() 
{ 
    InitializeAllVariables(); 
}