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