Я хочу реализовать метод, который принимает два делегата Action A1 и Action A2 и возвращает новый делегат, который объединяет их. Сигнатура метода следующая:
public static Action<Tuple<T1,T2>> CombineWith<T1,T2>(this Action<T1> a1, Action<T2> a2)
Итак, вместо того, чтобы говорить
{
A1(t1);
A2(t2);
}
, я хочу иметь возможность написать:
{
A1.CombineWith(A2)(Tuple.Create(t1,t2));
}
Какова возможная реализация этого метода?