En Java hemos utilizado el argumento javaagent y las utilidades ASM (http://asm.ow2.org/) para modificar el código de bytes al ejecutar/cargar el tiempo en la memoria por el cargador de clases. (también conocido como Agregar una llamada de método a un método en una clase de forma dinámica).Buscando una forma de manipular .Net CIL en tiempo de ejecución
Un ejemplo de esto es donde se eliminan todas las llamadas a Log4j para acelerar una aplicación (http://surguy.net/articles/removing-log-messages.xml).
Estoy tratando de averiguar cómo hacer este mismo proceso en tiempo de ejecución con C#/.Net. He visto que puedes manipular el CIL para .Net, pero no he encontrado un ejemplo de esto en tiempo de ejecución.
System.Reflection.Emit parece ser el .NET equitant más cercano donde se pueden crear clases dinámicamente, pero ¿hay alguna manera de agregar o anular las clases existentes usando esto?