2

ILspy 是一个了不起的工具,但是当我使用它反编译 dll 时,我得到了这样的结果:

this.lastOrientation = base.get_Orientation();

但它应该是这样的:

this.lastOrientation = base.Orientation;

我怎样才能得到更好的结果?

更多这样的例子:

应为:

battery_logo.Visibility = System.Windows.Visibility.Visible;

但我们得到的是:

battery_logo.set_Visibility(System.Windows.Visibility.Visible);

当我们构建时会出现如下错误:

'System.Windows.UIElement.Visibility.set': cannot explicitly call operator or accessor
4

2 回答 2

4

这里有一个错误报告:https ://github.com/icharpcode/ILSpy/issues/380

有人写道:

事实证明,这个问题与缺少基本类型的依赖程序集有关。我不再看到那个问题了。不过,我对一些混淆的代码感到困惑,不确定您是否有兴趣帮助我解决这些问题,但我肯定会感谢您的帮助。

您说您正在为 Windows Phone 反编译应用程序。您可以尝试在 ILSpy 中加载 Windows Phone 的引用程序集

于 2015-03-31T13:25:12.417 回答
1

ILspy 是一个了不起的工具,但是当我使用它反编译 dll 时,我得到了这样的结果:

this.lastOrientation = base.get_Orientation();

但它应该是这样的:

this.lastOrientation = base.Orientation;

Orientation可能是一个属性,而 c# 中的属性实际上是一种语法糖,它们在内部只是简单地转换为底层的 getter 和 setter 方法 - 这就是为什么您看到反编译的代码就好像它是对方法的调用和对常规财产。

于 2015-03-31T13:25:36.890 回答