Рассмотрим следующий псевдокод:
TResult Foo<TResult>(Func<T1, T2,...,Tn, TResult> f, params object[] args)
{
TResult result = f(args);
return result;
}
Функция принимает Func<> с неизвестным количеством общих параметров и списком соответствующих аргументов. Можно ли написать это на С#? Как определить и назвать Foo? Как передать args в f?