Compiler Error CS1628
Cannot use ref or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression
This error occurs if you use a ref or out parameter inside an anonymous method block. To avoid this error, use a local variable or some other construct.
The following sample generates 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()
{
}
}