Ich habe eine Funktion, die die folgende Signatur hat ...Konvertieren in Source Code-String einen Ausdruck Baum
public string DoJunk(Expression<Func<bool>> expression)
Ich versuche, einen Weg zu finden, die „Ausdruck“ Parameter zurück zu so etwas wie das konvertieren Original-Quellcode (oder mindestens aC# -Darstellung des Original-Quellcodes). Also, wenn jemand ruft die Funktion wie folgt ...
DoJunk(() => (i + j) * 9 == Math.Round((double)j/(i - 3), 4))
... Ich möchte in der Lage sein, den Ausdruck, dies zu konvertieren ...
(i + j) * 9 == Math.Round((double)j/(i - 3), 4)
Hat jemand dies getan?
was ist der Kontext davon? –
Ich experimentiere mit einigen Ideen für ein Unit-Testing-Framework. Meine Idee ist, dass, wenn Sie gegen ein Lambda testen und der Test fehlschlägt, Sie den Code zeigen könnten, der fehlgeschlagen ist. Zum Beispiel, statt "erwartet: 4 tatsächlich: 5", könnten Sie eine Nachricht mehr wie "erwartet: user.Age == 4 actual: user.Age == 5" – herbrandson