que tiene una función que tiene la siguiente firma ...Convertir un árbol de expresión de cadena de código fuente
public string DoJunk(Expression<Func<bool>> expression)
estoy tratando de encontrar una manera de convertir el parámetro de "expresión" volver a algo parecido a la código fuente original (o al menos representación de aC# del código fuente original). Por lo tanto, si alguien llama a la función como esta ...
DoJunk(() => (i + j) * 9 == Math.Round((double)j/(i - 3), 4))
... Me gustaría ser capaz de convertir la expresión a este ...
(i + j) * 9 == Math.Round((double)j/(i - 3), 4)
Alguien ha hecho esto?
¿Cuál es el contexto de esto? –
Estoy experimentando con algunas ideas para un marco de prueba de unidad. Mi idea es que si prueba contra un lambda y la prueba falla, podría mostrar el código que falló. Por ejemplo, en lugar de obtener "esperado: 4 real: 5", podría obtener un mensaje más parecido a "esperado: usuario.Edad == 4 real: usuario.Edad == 5" – herbrandson