Я пишу довольно простой инструмент создания кода, и мне нужна возможность конвертировать объекты MSIL (или MethodInfo) в их исходный код C #. Я понимаю, что Reflector отлично справляется с этой задачей, но у него есть неприятная «особенность» - быть только пользовательским интерфейсом.
Я знаю, что мог бы просто генерировать строки C # напрямую, используя string.Format для вставки частей переменных, но я действительно предпочел бы иметь возможность генерировать методы программно (например, объект делегата или MethodInfo), а затем передавать эти методы писателю, который будет конвертировать их в C #.
Кажется немного глупым, что системные библиотеки упрощают переход от строки исходного кода C # к скомпилированному (и исполняемому) методу во время выполнения, но невозможно перейти от объекта к исходному коду - даже для простого вещи.
Есть идеи?