Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 从lambda函数生成不用于比较的表达式_.net_Vb.net_Linq_Lambda_Linq Expressions - Fatal编程技术网

.net 从lambda函数生成不用于比较的表达式

.net 从lambda函数生成不用于比较的表达式,.net,vb.net,linq,lambda,linq-expressions,.net,Vb.net,Linq,Lambda,Linq Expressions,我目前正在构建一个用于构建查询的UI,我希望能够以lambda函数的形式存储其他表达式(因为使用intellisense等可以很容易地添加它们)。但是,我找不到任何方法来获取,例如,执行成员访问的lambda,将其转换为可以插入到表达式树中的表达式 注意。我需要的不仅仅是成员访问 即,我正在尝试填写以下函数的正文 Function GetExpression(Of ParamType, ReturnType) _ (f As Func(Of ParamType, ReturnType))

我目前正在构建一个用于构建查询的UI,我希望能够以lambda函数的形式存储其他表达式(因为使用intellisense等可以很容易地添加它们)。但是,我找不到任何方法来获取,例如,执行成员访问的lambda,将其转换为可以插入到表达式树中的表达式

注意。我需要的不仅仅是成员访问

即,我正在尝试填写以下函数的正文

Function GetExpression(Of ParamType, ReturnType) _
    (f As Func(Of ParamType, ReturnType)) As Expression

将方法参数更改为:

Function GetExpression(Of ParamType, ReturnType) _
    (f As Expression(Of Func(Of ParamType, ReturnType))) As Expression
当您使用lambda调用它时,编译器将向方法提供标记化表达式树,而不是编译委托


比较并对比执行lambda的,与执行lambda的,与不执行lambda的。

您是要反编译传入的
Func
,还是只需要一个调用
Func
的lambda,给定一个
ParamType
实例?谢谢,它工作得非常好,而且确实使我的代码更加整洁!