2009-02-16 50 views
0

我有一个C#类库,其中包含需要与外部应用程序一起使用的方法。不幸的是,这个外部应用程序仅支持C/C++中的外部API。将C#类库导入到Visual C++中

假设我在这个C#库中有一个takeIntReturnDoubleArray方法,它接受一个整数并返回一个双精度数组。我需要做的只是一个C++方法,它接受一个整数,调用C#库并向调用应用程序返回一个双精度数组。

所以本质上C++库只是充当C#包装器和外部应用程序之间的媒介。

有没有简单的方法来做到这一点?我是否必须在C#端做特别的事情才能让它轻松导入到C++中?我已经看到一些关于使用#import语句的讨论,但是我真的不知道我在C++中做了什么。

我应该在这里采取什么方法?

回答

4

您这里有两个主要的选项:

  1. C++ \ CLI - 这可以让你有相同的源文件中的托管和非托管代码。受管理的部分可以调用C#代码。
  2. COM Interop - 将.NET类型公开为COM接口并匹配可从非托管C++轻松使用的coclass。
+0

我宁愿用最简单的解决方案。我相信我可以将我的C++保留为托管代码。 – Alex 2009-02-17 02:17:16