任何人都可以帮助我并分享一个如何使用
Remote.Linq
和 System.Text.Json
序列化和反序列化 C# 表达式的示例吗?我没有找到任何有效的例子。
Expression<Func<int, bool>> expression = x => x > 5;
var remoteExpression = expression.ToRemoteLinqExpression();
???
我找到答案了
Expression<Func<int, int>> expr = x => x + 1;
var remoteExpression = expr.ToRemoteLinqExpression();
var serializerOptions = new JsonSerializerOptions().ConfigureRemoteLinq();
var serializedExpr = JsonSerializer.Serialize(remoteExpression, serializerOptions);
var deserializedExpr = JsonSerializer.Deserialize<Remote.Linq.Expressions.LambdaExpression>(serializedExpr, serializerOptions);
var originalExpr = deserializedExpr?.ToLinqExpression();
var result = originalExpr?.Compile().DynamicInvoke(1); // 2