·>А какая разница?.. хоть руками, хоть "/usr/bin/patch" хоть, sed-скрипт или ещё чего. В любом случае почти неюзабельно. Если уж патчить, то байт-код. Его хотя бы анализировать гораздо проще.
Хм. А вы пробовали анализировать байткод и С#? По моему опыту, анализировать исходник проще, чем восстанавливать семантику по байт-коду.
Если у вас есть другой опыт — расскажите, как вы будете находить места вроде "в Enumerable.Where передаётся замыкание-лямбда", и как вы будете генерировать байткод для енумератора со встроенным вызовом байткода этой лямбды. ·>Ведь нужен парсер синтаксиса и семантики C#, чтобы номера строк знать и т.п.
Конечно нужен. Хорошая новость — в том, что он уже есть. Поставляется из коробки. S>>3. Заменить вызов в пользовательском коде: ·>Чем это принципиально отличается от "Взять текст Program.cs", "Сделать String.Replace()", "скомпилировать"?
Я вроде бы привёл пример кода. Какой именно вы предлагаете "Сделать String.Replace()" для достижения предложенного эффекта?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.