Ошибка компилятора CS1628
Обновлен: Ноябрь 2007
Сообщение об ошибке
Невозможно использовать параметр "ref" или "out" "параметр" внутри анонимного метода, лямбда-выражения или выражения запроса
Cannot use ref or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression
Эта ошибка возникает при использовании параметра "ref" или "out" внутри блока анонимного метода. Чтобы избежать этой ошибки, используйте локальную переменную или другую конструкцию.
Следующий пример приводит к возникновению ошибки 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()
{
}
}