Время жизни объекта, если передали ссылку его поля в статический класс
Сабж. Вот код:
static class A
{
static D d;
void static Func1()
{
B b = new B();
d = b.Func2();
}
void static Main()
{
Func1();
GC.Collect();
System.Threading.Thread.Sleep(10000);
//b is removed?
}
}
class B
{
public D d = new D();
public D Func2()
{
return d;
}
}
class D
{
}
Будет ли удален объект b из кучи после сборки мусора, если на одно из его полей ссылается статический объект?
Источник: Stack Overflow на русском