C# · 12月 27, 2021

C#中的C#相当于C(WinAPI)中的DllMain

我有一个较旧的应用程序(ca. 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…]}解决方法 给你的类一个静态构造函数,并在那里进行初始化.任何人都会首次调用类的静态方法或属性,或构建类的一个实例.