Error del compilador CS1628
Actualización: noviembre 2007
Mensaje de error
No se pueden utilizar los parámetros ref ni out 'parámetro' dentro de un método anónimo, una expresión lambda o una expresión de consulta
Cannot use ref or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression
Este error se produce si se utiliza un parámetro ref u out dentro de un bloque de métodos anónimos. Para evitarlo, utilice una variable local o alguna otra construcción.
El código siguiente genera el error CS1628:
// CS1628.cs
delegate int MyDelegate();
class C
{
public static void F(ref int i)
{
MyDelegate d = delegate { return i; }; // CS1628
// Try this instead:
// int tmp = i;
// MyDelegate d = delegate { return tmp; };
}
public static void Main()
{
}
}