相关疑难解决方法(0)

在C#中序列化和反序列化表达式树

有没有办法在C#中反序列化表达式,我想将表达式存储在数据库中并在运行时加载它们.

c# serialization expression-trees

89
推荐指数
4
解决办法
4万
查看次数

将Expression <T,bool>转换为String

我需要一种方法来在将来的某个时刻重新创建动态生成的报告.简而言之,我需要将特定的linq查询(每个报告不同)存储到数据库中,然后使用动态Linq执行查询.

这一切都很好,但我找不到将表达式转换为字符串的方法.

如:

Expression<Func<Product, bool>> exp = (x) => (x.Id > 5 && x.Warranty != false);
Run Code Online (Sandbox Code Playgroud)

应成为:

"Product.Id > 5 && Product.Warranty != false"
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

c# expression dynamic-linq

35
推荐指数
1
解决办法
1万
查看次数

将Func委托转换为字符串

有没有办法将现有的Func委托转换为这样的字符串:

Func<int, int> func = (i) => i*2;
string str = someMethod(func); // returns "Func<int, int> func = (i) => i*2"
Run Code Online (Sandbox Code Playgroud)

或者至少接近它

c# delegates func

6
推荐指数
1
解决办法
2052
查看次数