Существует ли библиотека, которая может декомпилировать метод в Дерево выражений с поддержкой CLR 4.0?

Предыдущие вопросы спросили, возможно ли превратить скомпилированных делегатов в деревья выражений, например:

Нормальные ответы в то время были:

  • Это возможно, но очень трудно и нет никакого стандартного решения библиотеки.
  • Используйте отражатель!

Но к счастью существуют некоторые greatly-insane/insanely-great люди там, которым нравится перепроектировать вещи, и они делают трудные вещи легкими для остальной части нас.

Очевидно возможно декомпилировать IL к C#, поскольку Отражатель делает это, и таким образом, Вы могли в принципе вместо этого быть нацелены на деревья выражений CLR 4.0 с поддержкой всех типов оператора. Это интересно, потому что это не имело бы значения если встроенная специальная поддержка компилятора Expression<> лямбды никогда не расширяются для поддержки деревьев выражений оператора здания в компиляторе. Решение библиотеки могло заполнить разрыв. У нас затем была бы высокоуровневая начальная точка для записи подобных аспекту манипуляций кодом, не имея необходимость смешивать с необработанным IL.

Как отмечено в ответах на вышеупомянутый связанный вопрос, существуют некоторые многообещающие знаки, но я не преуспел в том, чтобы найти, было ли много прогресса с тех пор путем поиска.

Таким образом, кто-либо закончил это задание или стал очень далеким с ним?

Примечание: CLR 4.0 теперь выпущен. Время для другого беглого взгляда.

5
задан Community 23 May 2017 в 10:29
поделиться