你能为DLL创建一个初始化方法吗?

时间:2017-07-07 07:46:17

标签: c# .net visual-studio-2008 class-library

我需要创建一个服务,但该服务需要位于已存在的类库文件中,并且新服务需要在安装类库后开始运行。 有没有办法创建一个Init()方法或其他方法来启动类库中的服务? 该项目支持max .NET 3.5

对不起,如果听起来很蠢,我是班级资料库的新手

2 个答案:

答案 0 :(得分:2)

不,类库不支持这样的初始化。

请注意,在首次使用该库之前,它甚至不会被加载。您可以为某些适当的类型编写类型初始值设定项,并启动该服务 - 但我个人认为,如果可能的话,我会将其显式化。 (在类型初始化器中做大量工作可能会导致难以诊断的问题。)

答案 1 :(得分:0)

这不是一个好方法。但是,您可以创建一个单例来初始化需要为库执行的操作。然后,您可以在依赖初始化代码的库类中获得单例的实例。首次实例化单例时,初始化在私有构造函数中完成。初始化代码仅以这种方式运行一次。

这不是实现此目的的最优雅的方法,但是它将确保对库进行必要的初始化。

相关问题