Ошибка компилятора CS1686
Обновлен: Ноябрь 2007
Сообщение об ошибке
Адреса локальной "переменной" или ее членов не могут получаться или использоваться внутри анонимного метода или лямбда-выражения
Local 'variable' or its members cannot have their address taken and be used inside an anonymous method or lambda expression
Эта ошибка генерируется, когда используется переменная и производится попытка получения ее адреса, причем одно из этих действий выполняется внутри анонимного метода.
Пример
Следующий пример приводит к возникновению ошибки CS1686:
// CS1686.cs
// compile with: /unsafe /target:library
class MyClass
{
public unsafe delegate int * MyDelegate();
public unsafe int * Test()
{
int j = 0;
MyDelegate d = delegate { return &j; }; // CS1686
return &j; // OK
}
}