我有一个Func<Foo, object>并且Action<object>想要将这些结合起来Action<Foo>,它将我的Func和Action组合成一个Action,其中Func的结果被传递给Action.有一种直截了当的方法吗?
我能想到的最通用的方法是这样的:
Action<T1> Combine<T1, T2>(Func<T1, T2> func, Action<T2> action)
{
return x => action(func(x));
}
Run Code Online (Sandbox Code Playgroud)
用法:
Func<Foo, object> func = x => x;
Action<object> action = Console.WriteLine;
Action<Foo> result = Combine(func, action);
result(new Foo());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
298 次 |
| 最近记录: |