我想要一個將在程序啓動時自動實例化的單例。如何:在C#中自動實例化單例#
我的意思是「自動實例化」是Singleton中的代碼應該在程序啓動時實例化自己,而不需要其他代碼的任何調用或聲明。
所以我想類似以下實例並寫出「MySingleton實例化」在程序啓動(無主代碼做什麼)......
static class MySingleton
{
private static MySingleton self = new MySingleton();
protected MySingleton()
{
System.Console.WriteLine("MySingleton Instantiated");
}
}
除了這一點,因爲C#不工作會只在需要時初始化類的靜態成員,即當它們被訪問時等。
那麼我該怎麼做?這可以做到嗎?我還沒有親自用C++來做這件事(一段時間沒有使用C++),但我很確定它可以在C++中完成,但不知道C#。
任何幫助表示讚賞。謝謝。
什麼我確實想與此有關的是... 會有許多單身類(多可隨着時間的推移被添加),所有這些都從一個共同繼承(抽象)父類(又稱PClass)。
的PClass將有一個靜態成員是PClasses的集合......和構造將自身添加到集合...
然後在理論上所有的單身人士將自動地被添加到集合(因爲當它們被實例化時,基類的PClass構造函數被調用並且將新的對象添加到集合中)...然後可以在不知道什麼是子類(單例)類已經實現的情況下使用集合,並且可以使用新的子類(單例)類可以隨時添加,而無需更改任何其他代碼。
不幸的是,我不能讓孩子(單身人士)實例化自己......搞砸了我的小計劃,導致這篇文章。
希望我解釋得很好。
PS。是的,我意識到單身人士和他們的使用有不好的感覺......但他們有時是有用的,即使撒旦自己做單身人士,我仍然想知道我的問題是否可以在C#中實現。衷心感謝大家。
撒旦是一個Singleton。 – 2009-04-27 23:17:02