В Java мы использовали аргумент javaagent и ASM (http://asm.ow2.org/) утилиты для изменения байтового кода во время выполнения / загрузки в память загрузчиком классов. (Также называемый динамическим добавлением вызова метода в метод в классе).
Один из примеров - удаление всех вызовов Log4j для ускорения работы приложения (http://surguy.net/articles/removing-log-messages.xml).
. Я пытаюсь выяснить, как выполнить этот же процесс во время выполнения с C # / .Net.Я видел, что вы можете манипулировать CIL для .Net, но я не нашел пример этого во время выполнения.
System.Reflection.Emit, кажется, ближайший эквивалент .Net, где вы можете динамически создаватьклассы, но есть ли способ добавить или переопределить существующие классы, используя это?