[英]C# A question about the lambda expression as a method parameter
在页面code.google.com/p/fakeiteasy/
我注意到了这一行:
A.CallTo(() => shop.GetTopSellingCandy()).Returns(lollipop);
所以问题是-如何将lambda表达式作为方法参数传递?
此函数采用Func<T>
类型的参数(具有泛型参数的普通委托),或更可能采用Expression<Func<T>>
( 表达式树 )。
该函数本身可能具有一个通用参数,该通用参数可以从传递的方法中推断出来。
通过获取表达式树,该函数可以检查表达式中的代码并查看其功能。
您提供的代码正是这样做的-将lambda表达式作为参数传递给方法调用。
CallTo
可能具有签名“ CallTo(Action action)”。 因此,lambda作为代表被传递
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.