void Test (Func<bool> f)
声明我有一个像bool getItem(string id)
的方法我可以调用诸如Test (()=>getItem("123"))
,为什么呢?
我想我可以检查我需要1个字符串参数。
void Test (Func<bool> f)
声明我有一个像bool getItem(string id)
的方法我可以调用诸如Test (()=>getItem("123"))
,为什么呢?
我想我可以检查我需要1个字符串参数。
Func<bool>
需要返回bool
的函数。 Func<T1>
有一个输出参数,然后Func<T1, T2>
采用输入T1和输出T2的函数。每个后续版本都允许使用额外的输入参数,最终的泛型类型是输出参数的类型。
例:Func<string, string, bool>
就能够调用bool DoStuff(string s1, string s2)
快速编辑澄清:测试(()=>的getItem(“123”))的作品,因为你的拉姆达声明的开头不公开任何输入参数, getItem返回一个布尔值。
因为Test的签名要求参数是一个不带参数并返回布尔值的方法。
你的方法测试定义是指采取的Func<bool>
一个参数,它预计在另一Func<>
选项类似于bool Something();
查找方法签名,看看哪些符合你想要完成的任务。至少你在看Action<string>
或Func<bool, string>
你的问题是什么? – LukeH 2010-11-16 02:38:32