不能在Monotouch中正确使用通用版本的EventHandler



这行代码…很简单,大家都知道…

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;

我做了这个事件处理程序,我猜它正在工作。

public delegate void GEventHandler<T>(object sender, T args);

相关内容

  • 没有找到相关文章

最新更新