问题描述
问题解答
回答1:一种方式是托管 c++,但是有可能对代码更改较大,另一种是链接
回答2:check out C++/CLI (aka managed C++). Write a wrapper that uses your native class as a member
最好给每一个用到的native concrete class 写一个对应的Interface,在Managed C++ 里用 INativeCore 而不是NativeCore ,来避免一些坑
// in your native core:// define an interface wrapper for your native coreclass INativeCore{// ...}class NativeCore: public INativeCore{// ... }// in your C++/CLI coderef public class ManagedClass{private: INativeCore* pCore; // delegate all method calls to native corepublic: void foo(){ pCore->foo(); }// ... other methods}
equivalent SO question