2013-03-13 50 views
0

C#包裝我有三個本地C++類的這種關係:本地C++類

A <- B <- C 

其中A <- B意味着class B實例化,並使用指針class A

我想寫一個圍繞class C的C#封裝器,以便它的函數可以從C#中調用。

我的問題是我需要寫封裝class Aclass B以及?請注意,類A,B,C都被編譯爲.lib文件中的靜態庫。

+0

你不這樣做,如果你不暴露A和B,但它不清楚我如何計劃將C++類包裝到C#中。 COM,P/Invoke還是? – 2013-03-13 13:15:25

+0

你不需要,但你需要創建一個DLL,以便你可以在C#中進行P/Invoke,因爲你不能在C#中使用.lib文件。 – TheKingDave 2013-03-13 13:16:35

+0

混合模式C++/CLI是爲此設計的 – 2013-03-13 13:18:49

回答

1

C可以繼續以純模式直接調用B/A。您只需要處理由託管代碼直接調用的類的表面區域上的本機/託管互操作。