不能隐式转换类型'System.EventHandler'& # 39; System.EventHan
本文关键字:System EventHan EventHandler 转换 不能 类型 | 更新日期: 2023-09-27 18:14:15
我已经读了一些关于这个的线程,但我仍然不知道如何在我的情况下解决它。我来自Java,对c#还是个新手
我想在动画结束时附加侦听器:
myStoryBoard.Completed += new EventHandler(onMyStoryBoardCompleted);
:
private void onMyStoryBoardCompleted(object sender, EventArgs e)
{
}
标题中出现了错误。我试着:
myStoryBoard.Completed += new EventHandler<object>(onMyStoryBoardCompleted);
然后我得到:
no overload for 'onMyStoryBoardCompleted' matches delegate 'System.EventHandler<object>'
所以似乎签名与EventHandler <object>
不兼容,我找不到如何使其兼容,我也不知道这种方法是否正确。
了解c#中的事件和事件处理程序
c#动态模板隐式转换错误。EventHandler为DispatcherTimer的Tick事件定义事件处理程序
但是我仍然没有找到解决这个问题的方法。
尝试:
private void onMyStoryBoardCompleted(object sender, object e)
{ }
并使用通用的EventHandler<object>
:
myStoryBoard.Completed += new EventHandler<object>(onMyStoryBoardCompleted);
当然,这违背了。net框架的约定,即事件处理程序的第二个参数应该是EventArgs
的实例(或其派生的类)。我假设您正在运行另一个框架,例如Windows 8 Metro,其Timeline
类定义了具有EventHandler<object>
签名的Completed
事件。