对于lambda expresssion ()=>getItem("123")
,是Func(bool)还是Func(string,bool),假设getItem返回bool。
答案 0 :(得分:8)
这是Func<bool>
。
线索在() =>
部分:这意味着该函数没有输入参数。
答案 1 :(得分:0)
如果你想将它重构为Func<string,bool>
,那么将文字“123”拉出来并将其视为输入参数:
bool getItem(string input) { ... }
Func<bool> selector = () => getItem("123");
Func<string,bool> selector2= str => getItem(str);
bool result1 = selector();
bool result2 = selector2("123");
Assert.AreEqual(result1,result2);
答案 2 :(得分:0)
严格来说,答案是既不。 Lambda expressions are typeless