Представим что у нас есть объект класса A. В одном из его методов передаем какое нить лямбда выражение в объект класса B, в котором сохраняется ссылка на него.
Что будит с лямбда выражением если на класс A потеряется ссылка в графе ссылок и условия для сборки мусора станут удачными. ?
Class Program
{
private B _b;
void Main(string[] args)
{
A a = new A();
_b = new B();
a.go(_b);
}
}
Class A
{
public go(B b)
{
b.setAction(()=>{Debug.WriteLine("ololo");});
}
}
Class B
{
private Action _action;
public void setAction(Action action)
{
_action = action;
}
}