ExpressionVisitor解析表达式目录树的问题

Eason0807 2019-12-16 03:15:45
假设有这么一个表达式目录树

Expression<Func<Customer, bool>> expression1 = c => (c.Id > 5 && c.Name.Contains("asdd")) ||( c.Id==1 || c.Id==2);


现在表达式c.Id > 5 ,c.Name.Contains("asdd")这一类的已经解析出来了没啥问题

关键是怎么能把圆括括号"()"也解析出来,否则这种多条件的,表达不出来原来的意思啊
...全文
72 点赞 收藏 3
写回复
3 条回复
vin_Lee 2019年12月19日
这个不是需要你解析括号,需要的是你去递归解析表达式树(left,right) 另外如果不是极其特别特殊的需求,不建议自己解析表达式树,如果这个括号的都算问题的话、相信我问题多到你不敢想象
回复 点赞
Eason0807 2019年12月19日
可能是我把这个是想简单了,我是继承ExpressionVisitor来递归的,一开始我就是简单的取到一个就放Stack<string>里,最后一次拿出来就OK了,不过这么一搞的话,这种圆弧括号就弄不出来了;
回复 点赞
Eason0807 2019年12月16日
顶一下,是嫌分太少了吗??????????????
回复 点赞
发动态
发帖子
LINQ
创建于2007-12-13

7865

社区成员

4739

社区内容

.NET技术 LINQ
社区公告
暂无公告