反编译器的异常代码

时间:2013-05-14 18:10:09

标签: c#

我尝试通过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)
{
}

我不知道如何将其改为正常。有人可以帮我吗?

2 个答案:

答案 0 :(得分:3)

seems这是Windows Runtime的新功能。也许你的反编译器无法应对。

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

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

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

答案 1 :(得分:3)

这条线几乎肯定会转换回:

this.dispatcherTimer.Tick += timer_Tick;

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