2011-03-08 28 views
0

我在託管C++(CLI \ C++)中編寫應用程序。其中我使用的是用C#編寫的庫(.dll文件)。如何從C#ref類型轉換爲CLI C++ ^%type

在文件中遇到問題。

我正在實現寫入庫中的接口的函數。

在庫中的功能的聲明如下給出:

​​

當我寫在CLI \ C相同的代碼++的聲明是這樣的:

WorkspaceMessage(int workspaceToken, String ^description, EnumNotificationCode ^code, EnumNotificationType ^type, String ^source, EnumNotificationReply ^%action); 

這裏,編譯器給我錯誤,「類必須提供接口方法的實現」。因爲在兩個函數聲明中傳遞的參數在語法上是不同的。

有沒有其他方法來匹配庫聲明?

如果我刪除「^'&'%'以匹配庫聲明,那麼它會在代碼中給出更多的錯誤。

回答

3

是EnumNotifcationCode,EnumNotificationType和EnumNotficationReply所有枚舉?也就是說,他們是否重視類型?如果是這樣,那麼就應該聲明如下:

WorkspaceMessage(int workspaceToken, 
       String^ description, 
       EnumNotificationCode code, 
       EnumNotificationType type, 
       String^ source, 
       EnumNotificationReply% action); 
+0

不......你的解決方案,但沒有改變嘗試...... – 2011-03-09 05:51:21

+0

然後,我們需要更多的信息:哪些類型是三個枚舉類型*我問你?什麼是退貨類型?您提供的信息越多,獲得良好答案的機會就越大。 – 2011-03-09 13:57:13