如果存在对 class 方法的引用,class 是否会被垃圾回收?
will a class be garbage collected if there exists a reference to a method of that class?
public Messenger(Socket socket, string username)
{
sock = socket;
controller = new SocketHandler.Controller(socket);
controller.onReceiveData += ParseMessage;
controller.onCloseConnection += OnCloseConnection;
}
...
if (game == Messenger.GAME_TOKEN)
{
new Messenger(socket, username);
}
我不想管理一些对我创建的 Messenger class 新实例的引用。对我添加到控制器中的 onCloseConnection 操作的私有方法的引用是否足以防止 Messenger 实例被垃圾收集?
我总能稳妥管理,但越简单越好。
我重新阅读了您的问题,我认为对 Messenger
的 OnCloseConnection
方法的引用将使 Messenger 实例保持活动状态。
public Messenger(Socket socket, string username)
{
sock = socket;
controller = new SocketHandler.Controller(socket);
controller.onReceiveData += ParseMessage;
controller.onCloseConnection += OnCloseConnection;
}
...
if (game == Messenger.GAME_TOKEN)
{
new Messenger(socket, username);
}
我不想管理一些对我创建的 Messenger class 新实例的引用。对我添加到控制器中的 onCloseConnection 操作的私有方法的引用是否足以防止 Messenger 实例被垃圾收集?
我总能稳妥管理,但越简单越好。
我重新阅读了您的问题,我认为对 Messenger
的 OnCloseConnection
方法的引用将使 Messenger 实例保持活动状态。