2009-04-27 324 views
4

我是最近在C#中工作的C/C++程序員,我試圖做一些奇怪的初始化事情,我遇到了一些麻煩。C#在程序啓動時實例化/初始化對象

我想出的最好和最簡單的例子是我想要創建一個「Eager」單例 - 一個在程序啓動時立即創建的,但沒有我需要進入程序的主函數並且說「Singleton.Instance()」作爲第一件事。我讀了靜態實例化,看起來它必須在實例化一個靜態對象之前調用或創建,所以我試圖創建一個靜態變量來實例化對象,但那不起作用。 (我無法找到關於什麼時候靜態變量被實例化或初始化的文檔)。

任何指針?

謝謝!

編輯:經過一些額外的研究,我想我可以完成我尋找與代碼利用反射單塊

+0

深思上http://www.youtube.com/watch?v=-FRm3VPhseI – 2009-04-27 06:21:03

回答

2

當你第一次是指包含A類靜態構造函數只調用構造函數。所以當你想讓你的初始化代碼在程序啓動時運行時,你必須明確地引用啓動代碼中包含構造函數的類(例如Main方法)。