>我有一个dll,其中我有一些托管类。我需要从.exe设置托管类的属性值并将其传递给 dll。但是 dllexport 函数不接受托管类作为参数。还有其他方法可以做到吗?
如果.dll是"纯"dll(不是某个 COM 类或 .NET 程序集),则无法公开类。但是,您可以公开类似的东西
void* CreateInstance(int param1, const char* param2);
int DoSomeMegaWork(void* instance, const int* paramZ);
实施将是 void* CreateInstance(param1, param2) { YourClass* 实例 = new YourClass(param1); 好吧,每当 实例。DoSomeWork(param2); 返回实例; }
int DoSomeMegaWork(void* _instance, const int* paramZ)
{
YoutClass* instance = (YourClass*) _instance;
return instance.DoSomeMegaWork(paramZ);
}
不要忘记销毁同一.dll中的实例