2014-03-31 68 views
0

假設我已經聲明瞭一個單Single和我想初始化S用於類這樣靜態單對象和其範圍的

public class A 
{ 
    public Single s=Single.Instance; 
    // methods 
} 

我有多個類,如A(B,C,d,等等)。並且還包含該行public Single s=Single.Instance

這是一個糟糕的設計?存在多個單身人士。 對不起,有一個基本的問題,但s初始化和它的生存時間。

+1

初始化時取決於它如何初始化..你還沒有顯示出來。 ''靜態'對象保證在對包裝它們的類型進行任何訪問之前被初始化..當這個類型是未定的時候。 '靜態'對象在AppDomain的生命中一直存在。 –

+0

如果Single.Instance被正確實現爲單例,那麼您只有一個單例實例,但是對該實例有多個引用。這本身並不是一個糟糕的設計。 – Alex

回答

0

MSDN also suggests使用SingletonClass.Instance作爲屬性來獲取singletor類的靜態 對象,這樣做時,他們將只有一個對象(而不是多個) 作爲Singleton類的實例屬性將確保

只要單身物體不處理,它將可用於任何類