假設我有一些單例只需要實例化。在構造函數中,它啓動計時器,並每秒更新一些模型數據。如果我的程序中不需要這個實例,哪裏可以創建單例實例?
要執行單例構造函數,我只需要引用它。我不需要結果實例,因爲我不需要對整個應用程序執行期間應該存在的單例執行任何操作。
但是C#不允許這樣的結構:WcfLoader.Instance;
所以我要利用這個WcfLoader loader = WcfLoader.Instance;
但我從來沒有使用loader
實例。
看起來很奇怪,這是否表示我做錯了什麼?
事實上,像你說的那樣創建Init方法,甚至在單例的實例屬性中使用它。 – oscilatingcretin
@oscilatingcretin我不認爲調用init作爲'Instance'屬性getter的副作用是個好主意。 – CodesInChaos
爲什麼不呢?就像'if(_whatever == null)Init();返回_whatever;' – oscilatingcretin