Convert an Expression Tree to Source Code string

前端 未结 2 754
鱼传尺愫
鱼传尺愫 2020-12-01 16:06

I have a function that has the following signature...

public string DoJunk(Expression> expression)

I\'m trying to fi

2条回答
  •  旧巷少年郎
    2020-12-01 16:43

    Here's an interesting article, with code, discussing the conversion of expression trees back into something that resembles (roughly) the original source:

    Expression Trees-Lambdas to CodeDom Conversion

    As a side-note, have you tried calling the expression's ToString method?

    Expression> expr =
        (i, j) => (i + j) * 9 == Math.Round((double)j / (i - 3), 4);
    
    Console.WriteLine(expr.ToString());
    // (i, j) => (Convert(((i + j) * 9)) = Round((Convert(j) / Convert((i - 3))), 4))
    
    Console.WriteLine(expr.Body.ToString());
    // (Convert(((i + j) * 9)) = Round((Convert(j) / Convert((i - 3))), 4))
    

提交回复
热议问题