我很困惑,为什么我不能把它称为一个函数,我如何让自己称之为函数?
Error 1 'fn' is a 'variable' but is used like a 'method'
Run Code Online (Sandbox Code Playgroud)
资源
Func<List<object>, List<object>, Func<string, object>> test;
test = (ls, fn) => fn(null);
Run Code Online (Sandbox Code Playgroud)
Eri*_*ert 11
我糊涂了.
是的.让我们不相信你.
这有什么问题?
Func<List<object>, List<object>, Func<string, object>> test;
test = (ls, fn) => fn(null);
Run Code Online (Sandbox Code Playgroud)
这说明这test是一个函数,它接受两个列表并从一个字符串返回一个函数.列表是ls和fn.所以fnis 的类型,List<object>不是可以调用的东西.
也许你应该描述一下你在这里要做的事情,因为代码中一点也不清楚.
它假设收到一个
List<object>,Func<string, object>并返回List<object>
我不认为这是正确的,因为你想调用该函数并获得一个List<object>返回,但是Func<string, object>返回一个object.
也许你打算写的是
Func<List<object>, Func<string, List<object>>, List<object>> test;
test = (ls, fn) => fn(null);
Run Code Online (Sandbox Code Playgroud)
现在lsis List<object>的类型和类型fn是Func<string, List<object>>.因此,当fn被调用时,它将返回a List<object>所需的test.
合理?
请记住,在Func<A, B, R>A 中,A和B是参数类型,R是返回类型.