使用C#中的DirectX DLL(C++)

Dan*_*ski 6 c# c++ com directx pinvoke

我有一个使用DirectX的本机C++ DLL,我希望能够通过C#使用它来创建内容创建工具.

添加COM需要付出相当大的努力.可以使用P/Invoke来使用多态来维护类,还是需要我包装大部分代码以便于使用P/Invoke?

它有更好的解决方案吗?或者我是否应该考虑使用Qt在C++中编写工具?

Jef*_*eff 2

我始终认为,在进行 C# 到 C++ 互操作时,C++/CLI 始终是最佳选择。您可以轻松地为非托管库创建瘦包装器,该包装器在 C# 代码中看起来与托管库完全相同。它还使您可以更好地控制编组和固定的执行方式。

我相信有一些方法可以自动生成 C++/CLI,但我从未使用过它们。

有关 C++/CLI 的更多信息,请访问: http://msdn.microsoft.com/en-us/magazine/cc163681.aspx