Digamos que tengo dos clases, y ninguno de ellos son componentes de la GUI. Una clase es un objeto de corta duración que se registra para un evento declarado por un objeto B. larga vida Por ejemplo¿Debo deshacerme de los eventos?
public A(B b)
{
b.ChangeEvent += OnChangeEvent;
}
Si A no anula el registro del evento de B, A nunca va a ser el recolector de basura? ¿Necesita A un método de eliminación solo para anular el registro del evento de B?
También hay una segunda pregunta relacionada. Si A y B deberían vivir durante todo el tiempo de ejecución de la aplicación, ¿es necesario cancelar el registro?
... a menos que A también sea elegible para recolección de basura. –
Como dijo Jon, ¿qué hay de A? – Sean
@Sean, he invertido B y A. Una vez que las referencias externas se eliminan de B, A también se eliminará. – kemiller2002