簡體   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