繁体   English   中英

C#关于lambda表达式作为方法参数的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM