¿Es posible modificar el cuerpo de un método en tiempo de ejecución en .NET?

Sé que es posible (en teoría) crear un nuevo tipo en tiempo de ejecución, pero ¿es posible modificar un cuerpo de método de un tipo existente en tiempo de ejecución? Mi plan (si puedo hacer que esto funcione) es etiquetar los métodos con un atributo personalizado y luego, en tiempo de ejecución, buscar métodos con el atributo e insertar parte de mi propio código en el cuerpo del método.

¿Alguna sugerencia?

Supongo que si no puedo lograr que ese enfoque funcione, siempre podría usar un método virtual en una clase base (con los atributos), combinado con una fábrica estática para escupir un tipo dinámico derivado con mi método generado en tiempo de ejecución en la clase infantil Sin embargo, esto no sería tan limpio de usar.

Respuestas a la pregunta(5)

Su respuesta a la pregunta