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

Ton*_*ony 0 c# lambda

在页面上code.google.com/p/fakeiteasy/我注意到了这一行:

A.CallTo(() => shop.GetTopSellingCandy()).Returns(lollipop);
Run Code Online (Sandbox Code Playgroud)

所以问题是 - 如何将lambda表达式作为方法参数传递?

SLa*_*aks 5

此函数采用类型的参数Func<T>(具有泛型参数的普通委托),或者更可能是Expression<Func<T>>(表达式树).

函数本身可能有一个泛型参数,该参数是从传递的方法推断出来的.

通过获取表达式树,该函数能够检查表达式中的代码并查看它的作用.