2013-09-30 41 views
0

我已經創建了一個應用程序,該應用程序在使用虛擬表的概念的Link的幫助下,繼承了.Net應用程序中的C++ Dll。我試圖找出在.Net中繼承C++ Dll的可能性。以上鍊接對我非常有幫助。 現在,我想從Firebreath框架的JSAPI繼承我的C#類,它是Native C++的支持框架。我正在使用Dumpbin.exe來驗證哪些函數在我的.Net應用程序中導出。 請讓我知道,如果有任何解決方案。從JSAPI繼承C#

回答

1

據我所知,沒有辦法直接做你想做的事情;不過,您可能會創建一些擴展JSAPI的東西,然後可以封裝一個託管對象,然後使用反射API來實現HasMethod,HasProperty,GetProperty,SetProperty和Invoke等方法。在firebreath源文件中查看NPObjectAPI就是我的意思。 FireBreath有幾個這樣的對象,這些對象使得通常不符合JSAPI的事情像JSAPI對象那樣行事。

+0

感謝您的回覆。您能否給我建議我想要創建的擴展JSAPI,然後可以包裝託管對象?我將實現可用作包裝器的C++類庫,其中將包含plugin.h ,pluginApi.h文件,以便我可以輕鬆訪問Firebreath函數。那麼,它是在C#中調用firebreath函數的正確方法嗎? – SkoolBoyAtWork

+0

您將創建一個擴展JSAPI的C++對象。然後,您會將引用等置於該對象內的託管對象。然後,您可以將代碼添加到兩者之間的代理調用中。 – taxilian

+0

沒有「在c#中調用firebreath函數的正確方法」。有什麼辦法可以創建。 – taxilian