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);
当我们build立会得到如下错误:
'System.Windows.UIElement.Visibility.set': cannot explicitly call operator or accessor
这里有一个错误报告: https : //github.com/icsharpcode/ILSpy/issues/380
有人写道:
事实证明,这个问题与缺少依赖程序集的基本类型有关。 我不再看到这个问题。 虽然我迷惑了一些混淆的代码,不知道你是否有兴趣帮助我解决这个问题,但是我一定会感激你的帮助。
你说你正在反编译Windows Phone的应用程序。 你可以尝试在ILSpy中加载Windows Phone的引用程序集
ILspy是一个了不起的工具,但是当我使用它反编译DLL时,我得到这样的结果:
this.lastOrientation = base.get_Orientation();
但是应该是这样的:
this.lastOrientation = base.Orientation;
Orientation
可能是一个属性和属性在C#实际上是一种语法糖,他们在内部简单地转化为getter&setter方法 – 这就是为什么你看到反编译的代码就好像它是一个方法的调用和读一个普通的财产。