winrt api中的行动代表

时间:2012-07-09 14:30:10

标签: c# delegates windows-runtime .net-4.5

嗨我在Windows rt上开发了一个应用程序。我试图使用Action,但它说它不是一个有效的winrt类型。我无法找到任何可以进一步阐述的来源。

我的代码

public  void OnNetworkDown(Action NetworkEventHandler )
{
    _OnNetworkDown += NetworkEventHandler;
}
  

'Talk.To.Utilities.IO.Socket.TcpSocketAsyncEventArgs.OnNetworkDown(System.Action)'   具有'System.Action'类型的参数'NetworkEventHandler'。   “System.Action”不是有效的Windows运行时参数类型。

所以请指导我正确的方向。

1 个答案:

答案 0 :(得分:1)

您无法使用管理类型操作使用委托来执行此操作。

public delegate void NetworkEventHandler();

public  void AddNetworkDownHandler(NetworkEventHandler handler)   
{      
 _OnNetworkDown += handler;
}

但是你也可以直接向公众展示这个事件,这将使语言投影能够更自然地融入其他语言,如JavaScript。