带有Func <>参数的C#Action <>

eme*_*mer 5 c# action func

我有以下方法,我无法找出正确的语法来调用:

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)

不知道为什么我甚至有这个问题.这是我猜的那些日子之一..

谢谢

Jam*_*are 2

看看上面的描述,看起来调用应该是:

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应用于传入的序列(如果我正确读取原型)。