我有一个类如下所示。服务器实例保存对侦听器实例的引用。监听器通过事件代理保存对服务器实例的引用。这是否会阻止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