c# - 无法在 Monotouch 中正确使用 EventHandler 的通用版本

标签 c# generics event-handling mono xamarin.ios

这是一行代码...非常简单并且众所周知...

public event EventHandler<TimeSpan> TimeExtended;

在 Visual Studio 中(我指的是在 Windows 上)它像往常一样工作,但在 MonoTouch 中我不能使用 TimeSpan,因为它不能转换为 EventArgs,我只能使用从 EventArgs 派生的类型。我如何在单声道中使用这个通用事件处理程序?

谢谢

最佳答案

它在 Visual Studio 中有效,因为您使用的是 .Net 4.5,其中类型约束已被删除。只需定义您自己的继承自 EventArgs 的类。如果您需要其他数据,请将其也包含在内。

public class TimeExtendedEventArgs : EventArgs
{
  public TimeSpan TimeExtended { get; set; }
  public Player Player { get; set; }
}

public event EventHandler<TimeExtendedEventArgs> TimeExtended;

关于c# - 无法在 Monotouch 中正确使用 EventHandler 的通用版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14084569/

相关文章:

javascript - Highcharts 选择事件禁用突出显示效果

c# - MVVM 和 Prism - 如何处理 ViewModel 中的 TextBox_DragEnter 和 TextBox_Drop 事件

c# - Application.Resources 用于存储应用程序数据

c# - 玩家在与标记对象碰撞时消失

java - 如何用不同的方式实现同​​一个接口(interface)的泛型方法?

generics - 接口(interface)中的 TypeScript 通用方法签名

java - 将 Generic 与 Class<?> 参数一起使用时出错

javascript - 使用 Scriptaculous 拖放防止 JavaScript 单击事件

c# - 学习创建 ASP.NET SOAP Web 服务的良好起点

c# - 将 Base64 编码的 CSS 图片上传到 Asp.Net MVC/Web Api