2

我试图通过telerik反编译器反编译一个.cs文件,它把一个事件处理程序的代码变成了一个不寻常的代码。

private void Start_Click_1(object sender, RoutedEventArgs e)
{
    WindowsRuntimeMarshal.AddEventHandler<EventHandler<Object>>(new Func<EventHandler<Object>, EventRegistrationToken>(dispatcherTimer.add_Tick), new Action<EventRegistrationToken>(dispatcherTimer.remove_Tick), new EventHandler<Object>(this.timer_Tick));
}

private void timer_Tick(object sender, object e)
{
}

不知道怎么改成正常的。有人可以帮我吗?

4

2 回答 2

4

似乎是与 Windows 运行时一起出现的新事物。也许您的反编译器无法应对。

关于上面链接的信息,您的代码应转换为:

private void Start_Click_1(object sender, RoutedEventArgs e)
{
  dispatcherTimer.Tick += timer_Tick;
}

private void timer_Tick(object sender, object e)
{
}
于 2013-05-14T18:28:04.077 回答
3

该行几乎可以肯定地转换为:

this.dispatcherTimer.Tick += timer_Tick;

我这么说是因为它添加了一个事件处理程序AddEventHandler并引用dispatcherTimer.add_Tickand dispatcherTimer.remove_Tick,这几乎肯定是Tick事件的添加和删除处理程序。

于 2013-05-14T18:28:21.397 回答