考慮到與類型初始化「標準」 C#實現一個Singleton模式:C#辛格爾頓公共「實例」字段,而不是財產
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
public static Singleton Instance
{
get
{
return instance;
}
}
private Singleton() { }
}
有沒有在靜態屬性的任何一點?如果靜態字段被標記爲只讀,那麼肯定不能從任何地方寫入,包括從課程外部寫入。對於一個更簡潔的實現,將這項工作?:
public sealed class Singleton
{
public static readonly Singleton Instance = new Singleton();
private Singleton() { }
}
這似乎沒什麼問題,但我只見過用,所以我不知道是否有什麼不妥,我已經錯過了最上面的一個。
我不能得到你的觀點沒有2,你能讓我清楚嗎 –
@SriramSakthivel:請參閱http://csharpindepth.com/Articles/General/Singleton中的選項5。aspx –
感謝Jon,綽綽有餘 –