我有以下方法,我无法找出正确的语法来调用:
public T GetAndProcessDependants<C>(Func<object> aquire,
Action<IEnumerable<C>, Func<C, object>> dependencyAction) {}
Run Code Online (Sandbox Code Playgroud)
我试着像这样称呼它:
var obj = MyClass.GetAndProcessDependants<int>(() => DateTime.Now,
(() => someList, (id) => { return DoSomething(x); }) }
Run Code Online (Sandbox Code Playgroud)
编辑:大家,你们帮我打开了一个灯泡.这是我做的:
var obj = MyClass.GetAndProcessDependants<int>(
() => DateTime.Now,
(list, f) =>
{
list = someList;
f = id => { return DoSomething(id); };
});
Run Code Online (Sandbox Code Playgroud)
不知道为什么我甚至有这个问题.这是我猜的那些日子之一..
谢谢
看看上面的描述,看起来调用应该是:
var obj = MyClass.GetAndProcessDependants<int>(() => DateTime.Now,
(seq, fun) => { /* do something with seq and fun */ });
Run Code Online (Sandbox Code Playgroud)
关键是,由于您传递的是一个Action需要 a 的参数Func,所以调用者(最有可能)将是将其传递Func到您的Action. 因此,您只需指定如何将其Func应用于传入的序列(如果我正确读取原型)。