我不知道这是不是个好主意。我在C#中使用了非托管DLL(由我编写)。在非托管DLL中存储“托管”上下文参数
有一些回调函数可以在DLL中设置,但这些回调函数只能映射到C#端的静态类成员。
因为我想对特定的类实例进行回调操作,所以我想知道将类实例指针存储在DLL的状态信息中是否安全。
从DLL的角度来看,这将简单地是一个32位的上下文整数,但是从C#侧这将是一个实际的类“指针”或“参考”,用回调签名定义像这样:
public delegate void StatusChangeHandler(ContextClass context, int someCallbackValue);
它编译,它似乎工作,我只是不知道这是否有保证。这是一种可接受的做法吗?
mange =寄生螨引起的持续性皮肤病? – spender
糟糕!错字现在已更正。 – user1073363