Я немного возился с моим проектом С#, и я был удивлен, увидев, что этот код компилируется:
var a = new Action<string>(ref b => b = "hello");
Перевернув его наоборот, например, Action<string> a = ref b => b = "hello";
даст синтаксическую ошибку в 'ref'.
Конечно, копирование фрагмента в http://dotnetfiddle.net дает ошибку компилятора:
A ref or out argument must be an assignable variable
Я столкнулся с ошибкой в компиляторе? (Я использую VS 2015 и С# 6.)
EDIT: Просто переключившись на компилятор Roslyn на .NET Fiddle, он все равно выдает ту же ошибку.