我有一个静态类,我需要在第一次使用该类时初始化一些代码,并在应用程序进程终止时进行de初始化。实际上,init方法使用PInvoke方法调用本机C ++ API。我知道我可以使用静态构造函数,但是现在我需要在最后调用本机的de-init方法,
public static class MyClass
{
static MyClass()
{
MyInitFirstTime();
}
[静态类没有任何本机方法,但是您可以改用AppDomain DomainUnload
事件:
public static class MyClass
{
static MyClass()
{
AppDomain.CreateDomain("dummy").DomainUnload += CurrentDomain_DomainUnload;
MyInitFirstTime();
}
private static void CurrentDomain_DomainUnload(object sender, EventArgs e)
{
// Free resources
}
}