将VC ++项目转换为C#

远地点

我已经解决了这两个问题:

可以从C#调用C ++代码吗?

用C ++ / CLI包装非托管C ++-一种正确的方法

我还读了一些有关的内容C++/CLI,但老实说,我很困惑。

我有一个VC++项目,我想将其转换为一个C#项目。

我的问题是:

  1. 我是否需要C++/CLI用于此目的以及如何使用?
  2. 我必须在新的Project上为原始Project的每个方法实现一个包装类,如果不是,我该如何进行?
萨尔瓦托·索尔贝洛(Salvatore Sorbello)

1)是的,您需要C ++ / CLI

2)不,您不需要为每个方法都创建一个包装器类,您只需要为每个具有的C ++(native)类创建一个包装器类,类似于声明一个接口

用C ++ / CLI包装非托管C ++-一种正确的方法

是一个示例,其中只有一种方法,但是如果用C ++编写的类型为NativeType的类具有另一种方法,例如:

void Method2()

刚上过同一堂课

   void ManagedMethod2()
      { NativePtr->Method2(); } 

因此整个包装器类将是:#include“ NativeType.h”

public ref class ManagedType
{
     NativeType*   NativePtr; 

public:
     ManagedType() : NativePtr(new NativeType()) {}
     ~ManagedType() { delete NativePtr; }

     void ManagedMethod()
      { NativePtr->NativeMethod(); } 

     void ManagedMethod2()
      { NativePtr->Method2(); } 
}; 

总是从上面的链接中调用C#中的method2,您将执行以下操作:

mt.ManagedMethod2();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章