我有一個類如下所示。服務器實例保存對偵聽器實例的引用。監聽器通過事件代理保存對服務器實例的引用。這是否會阻止GC收集服務器實例?如果是這樣,如何打破這個循環?我應該實施IDisposable還是重寫Finalize方法還是做其他事情?這是內存泄漏嗎?
public class Server
{
public Listener Listener { get; private set; }
public Server(Listener listener)
{
Listener = listener;
Listener.ClientChannelConnected += new EventHandler<ClientChannelConnectedArgs>(listener_ClientChannelConnected);
}
void listener_ClientChannelConnected(object sender, ClientChannelConnectedArgs e)
{
...
}
}
我不」知道:( 謝謝! – Marko 2010-07-30 06:08:01