关于非托管代码调用托管函数的问题
程之殇 2012-06-19 02:35:44 我现在有一个非托管的c++程序里,想调用系统提供的.net里的NetworkAvailabilityChanged方法。
但是NetworkAvailabilityChanged 需要提供一个回调函数,不知道该如何设置。
如果在class里设置回调函数,则利用比如&Event::NetworkAvailabilityChanged方式,发现编译失败。
如果在cpp头部设置一个public函数,是可以成功调用的。但是因为需要在success后调用class里的方法(onNetworkChange)。不知道如何将Object^转换为Event*?
比如下面class sample:
Class NetworkManager
{
public:
setNetworkListener(){
NetworkChange::NetworkAvailabilityChanged += gcnew NetworkAvailabilityChangedEventHandler(this,&NetworkAvailabilityChanged);}
onNetworkChange();
}
外部有个public function:
void NetworkAvailabilityChanged (Object^ sender,NetworkAvailabilityEventArgs^ e)
{
}
现在 NetworkAvailabilityChanged 可以正常接收到反馈。但是我想调用class里的onNetworkChange,如何将Object^转化为Event*的指针呢?