2012-12-19 55 views

回答

9

在C#中,你可以添加靜態構造函數的類,這可能是解決打電話SetCurrentProcessExplicitAppUserModelID的問題的方法,其包含main方法。靜態構造函數中的代碼將在main之前執行。

+0

這當然會在Main之前執行,儘管它似乎沒有解決調用SetCurrentProcessExplicitAppUserModelID的問題。也許問題在於它是一個控制檯應用程序 –

+0

是的,更改爲Windows應用程序而不是控制檯解決了我的其他問題。 –

1

靜態構造函數將在Main之前執行,但前提是該類實際上被某個東西引用。例如:

class ClassWStaticCon 
{ 
    static ClassWStaticCon() 
    { 
     Console.WriteLine("Hello world!"); 
    } 
} 

... 
static void Main(string[] args) 
{ 
    Console.WriteLine("Hello main."); 
} 

會打印:

你好爲主。

class ClassWStaticCon 
{ 
    public static int SomeField; 
    static ClassWStaticCon() 
    { 
     Console.WriteLine("Hello world!"); 
    } 
} 

... 
static void Main(string[] args) 
{ 
    ClassWStaticCon.SomeField = 0; 
    Console.WriteLine("Hello main."); 
} 

會打印:

世界,你好!你好主。

如果你想控制的執行順序,然後在一個單一的靜態使用Action的隊列中的代表http://msdn.microsoft.com/en-us/library/018hxwa8.aspx「初始化所有預先主的東西」類。

相關問題