One option is to use TupleSplatter (https://github.com/chartjunk/TupleSplatter):
using TupleSplatter;
void test(Action fn)
{
fn.SplatInvoke(("hello", 10));
// or
("hello", 10).Splat(fn);
}
test((s,i) => {
Console.WriteLine(s);
Console.WriteLine(i);
});