Не уверен, что serializedText
есть в вашем фрагменте, но пока это LambdaExpression
, который возвращает boolean
, вы сможете сделать следующее.
Expression expression = Expression.Lambda(Expression.Constant(true), Expression.Parameter(typeof(string)));
Expression<Func<string, bool>> typedExpression = (Expression<Func<string, bool>>)(expression);
Console.WriteLine(typedExpression.Compile().Invoke("Hello"));
заменить string
с вашим типом generi c.
В вашем примере, если serializedText
можно десериализовать в Expression
, сработает следующее, вам придется изменить его по вашим соображениям.
Expression<Func<T, bool>> typedExpression = (Expression<Func<T, bool>>)Expression.Lambda(
serializer.DeserializeText(serializedText),
Expression.Parameter(typeof(T)));