我有一個關於.net垃圾回收的簡單問題。在下面的代碼中,我在子對象的構造函數中創建了一個偵聽器類實例。我的問題是監聽器類是否由子對象或主對象之前的垃圾回收收集,因爲在任何地方都沒有直接引用它?.net C#垃圾回收問題
class MainObject
{
public void DoSomething()
{
}
}
delegate void someEventHandler();
class ChildObject
{
public event someEventHandler SomeEvent;
MainObject main;
public ChildObject(MainObject main)
{
this.main = main;
new Listener(this, main);
}
}
class Listener
{
MainObject main;
public Listener(ChildObject child, MainObject main)
{
this.main = main;
child.SomeEvent += new someEventHandler(child_SomeEvent);
}
void child_SomeEvent()
{
main.DoSomething();
}
}