一尘不染

C#中与DllMain等效的C#(WinAPI)

c#

我有一个较旧的应用程序(约2005年),它接受dll插件。该应用程序最初是为Win32
C插件设计的,但是我有一个可以使用的C#dll模板。我的问题:我需要做一些一次性初始化,在Win32 C dll中将在DllMain中完成:

BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
  [one-time stuff here...]
}

是否有与此等效的C#?我拥有的C#模板中没有“ DllMain”。我尝试了字面的C#解释,但没有成功:dll可以工作,但不会触发DllMain函数。

public static bool DllMain(int hModule, int reason, IntPtr lpReserved) {
  [one time stuff here...]
}

阅读 932

收藏
2020-05-19

共1个答案

一尘不染

给您的类一个静态构造函数,并在那里进行初始化。它将在任何人第一次调用类的静态方法或属性或构造类的实例时第一次运行。

2020-05-19