1002
2016-06-02 05:56
采纳率: 16.7%
浏览 1.5k
已采纳

C++中的纯虚函数在C#中如何使用使用,或者C#如何托管?? 求大神!!!

这些是结构体
struct IIPNCMsgCallback
{
virtual int IPNCMsgNotify(WPARAM wParam, LPARAM lParam) = 0;//wParam:emCallbackMsgType lParam:IPNC_CB_DATA
};

typedef struct tagIPNC_CB_INFO
{
emCallbackNotifyType MsgNotifyType;//emCallBack:use pMsgCallback, emMSG:use nMsgID and hMsgWnd;
IIPNCMsgCallback *pMsgCallback;
unsigned int nMsgID;
HWND hMsgWnd;

#ifdef __cplusplus
tagIPNC_CB_INFO()//C++版ã?构1造¨¬函¡¥数ºy
{
ZeroMemory(this, sizeof(tagIPNC_CB_INFO));
}
#endif

}IPNC_CB_INFO, *LPIPNC_CB_INFO;

这个是设置回调
IPNC_CB_INFO cbInfo;
memset(&cbInfo,0,sizeof(IPNC_CB_INFO));
cbInfo.MsgNotifyType = emCallbackNotifyType_CallBack;
cbInfo.pMsgCallback = this;
re = CIPNCSDK::Client_SetClientCallback(&cbInfo);
if(re != emReturnOK)
{
AfxMessageBox("回?调Ì¡Â设¦¨¨置?失º¡ì败㨹");
return TRUE;
}


  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • blownewbee 2016-06-02 10:18
    已采纳

    纯虚函数没法直接调用。你需要用C++编写一个dll包装下,编写一个类继承纯虚类,然后实现这些抽象方法,再供C#调用。

    点赞 评论
  • 1002 2016-06-06 00:34

    额,大神呢,跪求大神帮忙

    点赞 评论
  • 1002 2016-06-06 00:35

    额,大神呢,跪求大神帮忙

    点赞 评论