2
通信我有以下問題:本地C++埃克用C#庫
- 埃克(本地C++)實現接口Ia和Ib。
- Dll1(native C++)有一個模板類
D<T>
,它實現接口Ic並調用到3.exe的Ia和Ib的實現。 - DLL2(原生C++)實現了E類(E類:公共
D<E>
)
在運行時有發生如下:埃克加載DLL 2(多個實例)和實例Ë爲它提供指向其Ia和Ib指針。 exe從Dll2獲取Ic指針。
現在,我必須允許在C#中實現Dll2(s),以便Exe可以調用到Dll2的Ic impl中。和Dll2 cann回叫Exe的Ia和Ib I-faces。每當新的Dll2實現彈出時,我不必重新編譯Exe和Dll1。
是否可以實現這樣的事情?
說什麼?您的描述很難遵循。擺脫所有縮寫 – jgauffin 2011-03-25 11:24:22
我建議聽取David Heffernan有關整個dll類繼承的脆弱性的建議。在這種情況下保持二進制兼容性會很乏味。 – 2011-03-25 12:31:21
Tnx Coda ...二進制兼容性是一個真正的問題,我會面對......我想我會盡量簡化這個問題,從C++/CLI消費C#接口,反之亦然,而不是使用COM封裝。任何人都可以給我一些提示,我可以如何從C++/CLI動態地使用C#接口(例如:加載C#DLL,查詢I-face並調用它),W-out COM? – Alex 2011-03-25 13:51:25