我有以下方法,但我无法找出要调用的正确语法:
public T GetAndProcessDependants<C>(Func<object> aquire,
Action<IEnumerable<C>, Func<C, object>> dependencyAction) {}
我试着这样调用它:
var obj = MyClass.GetAndProcessDependants<int>(() => DateTime.Now,
(() => someList, (id) => { return DoSomething(x); }) }
编辑: 谢谢大家,你们帮我打开了一个灯泡。这是我所做的:
var obj = MyClass.GetAndProcessDependants<int>(
() => DateTime.Now,
(list, f) =>
{
list = someList;
f = id => { return DoSomething(id); };
});
不知道为什么我什至对此有疑问。我想这是那些日子之一..
谢谢
最佳答案
您的 lambda 语法完全错误。
您需要创建一个带有两个参数的单个 lambda 表达式:
(list, id) => DoSomething(...)
关于C# Action<> 带有 Func<> 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126423/