ventana sintaxis poner muestra mostrar los hacer errores error dev compilacion compila como barra aparecer activar c# compiler-errors delegates roslyn ref

c# - sintaxis - ¿Por qué se compila el siguiente código sin errores?



error de compilacion error de sintaxis vba (2)

Estaba jugando un poco con mi proyecto de C # y me sorprendió ver que este código se compila:

var a = new Action<string>(ref b => b = "hello");

Dándole la vuelta al revés, como Action<string> a = ref b => b = "hello"; dará un error sintáctico en ''ref''.

Efectivamente, copiar y pegar el fragmento en http://dotnetfiddle.net da un error de compilación:

A ref or out argument must be an assignable variable

¿He encontrado un error en el compilador? (Estoy usando VS 2015 y C # 6).

EDIT: Acabo de cambiar al compilador de Roslyn en .NET Fiddle, todavía emite el mismo error.



pienso en primera Action

var a = acción nueva (ref b => b = "hola");

ref es referencia para la acción completa b=>b = "hello"

mientras que en segundo

Acción a = ref b => b = "hola";

ref es la referencia para b en ref b => b = "hola"

revisa el fiddle abajo