我想制作一些C ++类的C ++ / CLI包装器。
问题在于我希望使用c ++对象的引用启动 ref class :
A (A& a);
只要它在同一个组件中并在同一个项目中使用,就可以正常工作。
但是当我尝试从另一个项目引用该项目,并从那里启动一个引用对象的ref-class时,它将无法正确识别这些类型,并且无法识别正确的构造函数。 / p>
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
我认为你不能在这个实例中使用对C ++对象的引用,但你可以通过将它存储在IntPtr
中然后检索来跨越程序集边界传递指向C ++对象的指针它使用static_cast
。
class nativeA; // Pre declaration
A (IntPtr a)
{
nativeA * nativePtr = static_cast<nativeA*>(a.ToPointer());
// Do something with nativeA
}