假设
public class Program
{
public static void Main(string[] args)
{
Program p = new Program();
A a = new A();
p.Do(a);
System.Threading.Thread.Sleep(1000);
a.Fire();
}
public void Do(A a)
{
int i = 5;
a.ChangeViewEvent += () =>
{
Console.WriteLine(i);
};
}
}
public class A
{
public delegate void ChangeView();
public event ChangeView ChangeViewEvent;
public void Fire()
{
if(ChangeViewEvent != null)
ChangeViewEvent();
}
}
Run Code Online (Sandbox Code Playgroud)
怎么ChangeViewEvent解雇的时候,事件处理程序仍然可以访问变量i?我的意思是不应该超出范围或什么?
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |