2009-02-16 49 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