无法正确使用Monotouch中的通用版本的EventHandler

Pey*_*man 1 c# generics mono event-handling xamarin.ios

这是代码行......非常简单,每个人都知道......

public event EventHandler<TimeSpan> TimeExtended;
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Mik*_*ray 5

它适用于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;
Run Code Online (Sandbox Code Playgroud)