Expression.Quote

Expression.Quote って普通にあるんですね.まあ当然なのか.

こんにちは,せかい!

delegate void Proc();
Expression<Func<Expression<Func<Expression<Func<Expression<Proc>>>>>>>
    foo = () => () => () => () => Console.WriteLine("Hello, World!");

foo.Compile()().Compile()().Compile()().Compile()();

X たす Y たす Z は?

Expression<Func<int, Expression<Func<int, Expression<Func<int, Expression<Func<int>>>>>>>>
    bar = (x) => (y) => (z) => () => x+y+z;

Console.WriteLine(bar.Compile()(1).Compile()(2).Compile()(3).Compile()());