嵌入式单声道:在C++中保持对C#对象的引用

Jef*_*eff 8 c# c++ mono

我正在努力将mono嵌入到我正在创建的应用程序中,而且我还没有超级远,但我似乎无法找到的一件事就是当我使用对象并完成时如何告诉mono用一个对象.

我想保留对C#对象的引用来调用方法,直到它在C++中的并行对象的生命周期结束,此时,我想告诉mono,C#对象可以安全地收集.

这是如何完成的?

Jef*_*eff 3

看来我正在寻找的是mono_gchandle_new,并握住手柄,而不是 MonoObject* ,并在需要时使用 mono_gchandle_get_target 。

mono_gchandle_new 允许您在创建句柄时固定,但是否可以在创建后固定?

  • 您无法在事后固定,但可以创建一个新的固定 gchandle。 (2认同)