Error del compilador CS1686
Actualización: noviembre 2007
Mensaje de error
No se puede obtener la dirección de la variable local 'variable' o de sus miembros ni utilizarse dentro de un método anónimo o una expresión lambda
Local 'variable' or its members cannot have their address taken and be used inside an anonymous method or lambda expression
Se genera este error cuando se utiliza una variable y se intenta obtener su dirección, pero una de estas acciones se efectúa en un método anónimo.
Ejemplo
El código siguiente genera el error 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
}
}