Я точно помню что в одном из анонсов очередной версии C#, проскальзывало что теперь писать ref при передаче параметров не обязательно, т. е можно писать так:
void Test(ref int n) {}
void Action
{
int n = 4;
Test(n); // вместо Test(ref n)
}
Я тогда сразу проверил этот пример и он работал.
Но сейчас, по прошествии времени, не могу найти никакой информации об этом, и этот код не работает (C# 7.3), почему?
Нашёл!
https://habr.com/post/113586/
Это работает только для некоторых вызовов - "ключевое слово ref можно опускать при вызове метода через COM Interop"