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

Can you create an initialize method for DLL?

我需要创建一个服务,但该服务需要在一个已经存在的 Class 库文件中,而且新服务需要在 Class 库之后启动 运行已安装。 有没有办法在 Class 库中创建 Init() 方法或其他启动服务的方法? 项目支持最大.NET 3.5

对不起,如果听起来很蠢,我是 Class 图书馆资料的新手

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

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

这不是一个好方法。但是你可以创建一个单例来初始化需要为库做的事情。然后就可以在依赖初始化代码的库类中得到一个单例的实例。第一次实例化单例时,初始化是在私有构造函数中完成的。这样初始化代码只得到一次运行。

这不是实现此目的的最优雅方法,但它可以确保为库完成必要的初始化。