2013-06-18 62 views
0

我想從靜態構造函數中調用正常的構造函數,以便我可以在靜態構造函數之前執行正常的構造函數。 請幫我一把。如何從C#中的靜態構造函數調用構造函數,以便首先執行正常的構造函數

+0

所以只是...在靜態構造函數的開始調用一個實例構造函數('new()'一個對象)?但是:現在還不清楚*爲什麼*這很重要 - 這聽起來像是一種不尋常的情況,或許應該有更多的解釋,說明你在做什麼以及爲什麼這麼重要 –

回答

3

靜態構造函數在實例構造函數之前開始執行,但仍然可以調用實例構造函數......實際上,這是實現單例的一種常見方法。例如:

public sealed class Singleton 
{ 
    // I'd usually make it a property in real code, backed by a readonly field 
    public static readonly Singleton Instance; 

    static Singleton() 
    { 
     Instance = new Singleton(); 
    } 

    private Singleton() 
    { 
     // Only invoked from the static constructor 
    } 
} 
相關問題