¿Cómo se implementa el marco de aislamiento de lunares?

Lunares es un marco de aislamiento creado por Microsoft. Una característica interesante de Moles es que puede "burlarse" de métodos estáticos / no virtuales y clases selladas (lo cual no es posible con marcos como Moq). A continuación se muestra una rápida demostración de lo que pueden hacer los lunares:

Assert.AreNotEqual(new DateTime(2012, 1, 1), DateTime.Now);

// MDateTime is part of Moles; the below will "override" DateTime.Now's behavior
MDateTime.NowGet = () => new DateTime(2012, 1, 1); 
Assert.AreEqual(new DateTime(2012, 1, 1), DateTime.Now);

Parece que Moles es capaz de modificar el cuerpo CIL de cosas comoDateTime.Now en tiempo de ejecución. Como Moles no es de código abierto, tengo curiosidad por saber qué mecanismo usa Moles para modificar los métodos CIL en tiempo de ejecución. ¿Alguien puede arrojar algo de luz?

Respuestas a la pregunta(2)

Su respuesta a la pregunta