Если вы имеете в виду, что вызывает метод, определенный в соответствии с примером, то просто (например):
int x;
foo(123, out x, d: "hi");
Параметр out
не может быть необязательным (что означает, что он должен появляться перед необязательными), но может быть указан где угодно (в качестве именованного аргумента) - например:
int x;
foo(b: out x, a: 123);
Если вы хотите, чтобы b
был необязательным, вам потребуется перегрузка:
void foo(int a, int c = -1, string d = "")
{
int b;
foo(a, out b, c, d);
}
Теперь вы можете позвонить:
foo(123, d: "hi");