В C # определенная вами конструкция может подходить ко многим типам, поэтому она не может означать словарь.
Ниже я использую ключевое слово params, чтобы принять массив указанного вами типа кортежа, а затем создаю из него словарь для вызова метода, который ожидает словарь.
private static void Main(string[] args)
{
Test(("a", (1, "b")));
TestWrap(
("a", (1, "b")),
("b", (3, "c"))
);
}
private static void Test((string, (int, string)) data)
{
}
private static void TestWrap(params (string, (int, string))[] data)
{
Test2(data.ToDictionary(v => v.Item1, v => v.Item2));
}
private static void Test2(Dictionary<string, (int, string)> data)
{
}