C# Func与lambda问题
我有一份健康声明C# Func与lambda问题,c#,.net,C#,.net,我有一份健康声明 void Test (Func<bool> f) 无效测试(Func f) 我有一个类似于boolgetitem(stringid) 我可以调用像Test(()=>getItem(“123”),为什么 我想我可以检查我需要一个字符串参数 因为Test的签名要求参数是一个不带参数且返回布尔值的方法。Func需要一个返回布尔值的函数Func有一个输出参数,然后Func接受一个具有输入T1和输出T2的函数。每个后续版本都允许添加一个输入参数,最终的泛型类型是输出参数的
void Test (Func<bool> f)
无效测试(Func f)
我有一个类似于boolgetitem(stringid)
我可以调用像Test(()=>getItem(“123”)
,为什么
我想我可以检查我需要一个字符串参数 因为Test的签名要求参数是一个不带参数且返回布尔值的方法。
Func
需要一个返回布尔值的函数Func
有一个输出参数,然后Func
接受一个具有输入T1和输出T2的函数。每个后续版本都允许添加一个输入参数,最终的泛型类型是输出参数的类型
例如:Func
将能够调用booldostuff(字符串s1,字符串s2)
快速编辑以澄清:Test(()=>getItem(“123”)之所以有效,是因为lambda声明的开头没有公开任何输入参数,而getItem返回一个布尔值。您的方法测试被定义为使用
Func
的参数,该参数需要类似于bool Something()代码>
查看其他Func
选项,查看与您试图实现的目标相匹配的选项。至少你看到的是或