¿Cómo reemplazo la implementación de un método en tiempo de ejecución?

Me gustaría tener captadores de propiedades y métodos que pueda decorar con mi propio atributo personalizado y, en función de la presencia de ese atributo, reemplace los cuerpos del método con una implementación diferente. Además, esa implementación diferente necesitará conocer los argumentos del constructor dados al atributo personalizado donde decora el método.

Obviamente, esto se puede hacer con AOP, como PostSharp o LinFu, pero me pregunto si hay una manera de hacer esto que no implique un paso de procesamiento posterior a la compilación porque agregar eso complica el proyecto más de lo que preferiría.

Respuestas a la pregunta(4)

Su respuesta a la pregunta