Использование DynamicExpression.ParseLambda с интерполяцией строк - PullRequest
0 голосов
/ 12 февраля 2020

Я борюсь с DynamicExpression.ParseLambda и интерполяцией строк

Следующий ParseLambda не работает на символе $. Кто-нибудь может понять почему?

private static void Main()
{
    var result = ExecuteJob("parameter.Trim()", "    TheVale");
    Console.WriteLine(result);
}

static string ExecuteJob(string job, string parameter)
{
    //var result = new Func<string, string>(j => $"{parameter.Trim()}");
    //return result(parameter);

    var expression = $"$\"{{{job}}}\"";
    var p = Expression.Parameter(typeof(string), nameof(parameter));
    var e = System.Linq.Dynamic.DynamicExpression.ParseLambda(new[] { p }, typeof(string), expression);
    return (e.Compile().DynamicInvoke(parameter) ?? "").ToString();
}
...