编译器错误 CS1686
更新:2007 年 11 月
错误消息
在匿名方法块或 lambda 表达式的内部不能获取局部变量“variable”或其成员的地址,也不能使用局部变量“variable”或其成员
当您使用某个变量并尝试获取其地址时,只要这些操作有一项是在匿名方法内部执行的,就会生成此错误。
示例
下面的示例生成 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
}
}