2009-04-27 325 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方法)。