以下内容是关于C# 接收并解析lambda表达式的问题

想编写一个方法,接收一个lambda表达式,然后解析这个lambda表达式,如 表达式为 m=>m==0&&m<9解析后希望获得其中的元素 如 m = 0 &&等更复杂的解释 我可能会用一个model ,model中包含多个字段如name sex 等lambda表达式对应 就可能成为 model=>model.name==“ss”&model.sex==1这样我想编写的方法可以解析它,并拿出model、model.name、ss、==、这些元素同时还可能有这种情况,使用其他变量的lambda表达式如 string s=“ss”;model=>model.name==s这样的表达式要求解析之后可以读出s的值来其实编写这个方法是为了将一个bool型的lambda表达式传入方法中,并在其中解析表达式,获得它的每一个元素。希望大家帮忙,帮得上我追加100悬赏。

眼眸繁星
浏览 215回答 2
2回答

幕布斯7119047

System.Linq.Expressions.Expression<Func<int, bool>> lambda = (m=>m==0&&m<9);lambda变量就是你所需要的表达式树。有关表达式树的类在System.Linq.Expressions命名空间,由于类的数量众多,写起来可以出一本书,所以具体用法你就自己查阅相关资料了。或者你可以在debug模式下研究下lambda变量的构成。

慕的地6264312

用Func<T>委托就行了,不用自己开发。
打开App,查看更多内容
随时随地看视频慕课网APP