Как сделать так, чтобы результат декомпиляции ILspy C# был лучше?
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
2 ответа
Здесь есть отчет об ошибке: https://github.com/icsharpcode/ILSpy/issues/380
Кто-то написал:
Оказывается, проблема была связана с отсутствующей сборкой зависимостей базового типа. Я больше не вижу эту проблему. Я зашла в тупик из-за какого-то запутанного кода, но не уверена, что вы заинтересованы в том, чтобы помочь мне разобраться с этим, но я, несомненно, буду благодарна за помощь.
Вы сказали, что декомпилируете приложение для Windows Phone. То, что вы можете попробовать, это загрузить ссылочные сборки Windows Phone в ILSpy
ILspy - удивительный инструмент, но когда я использую его, декомпилирую dll, я получаю такой результат:
this.lastOrientation = base.get_Orientation();
но что это должно быть так:
this.lastOrientation = base.Orientation;
Orientation
это, вероятно, свойство, а свойства в C# на самом деле являются своего рода синтаксическим сахаром, и они внутренне просто переводятся в методы getter и setter внутри. Вот почему вы видите декомпилированный код, как если бы он был вызовом метода и чтением обычная собственность.