¿Hay alguna diferencia entre estas dos implementaciones?¿Diferencia entre dos implementaciones de eliminación?
1:
public class SMSManager : ManagerBase
{
private EventHandler<SheetButtonClickEventArgs> _buttonClickevent;
public SMSManager(DataBlock smsDataBlock, DataBlock telephonesDataBlock) :
base(smsDataBlock)
{
_buttonClickevent = new EventHandler<SheetButtonClickEventArgs>(OnButtonClick);
SheetEvents.ButtonClick += _buttonClickevent;
}
public override void Dispose()
{
base.Dispose();
if (_buttonClickevent != null)
SheetEvents.ButtonClick -= _buttonClickevent;
}
}
2:
public class SMSManager : ManagerBase
{
public SMSManager(DataBlock smsDataBlock, DataBlock telephonesDataBlock) :
base(smsDataBlock)
{
SheetEvents.ButtonClick += new EventHandler<SheetButtonClickEventArgs>(OnButtonClick);
}
public override void Dispose()
{
base.Dispose();
SheetEvents.ButtonClick -= new EventHandler<SheetButtonClickEventArgs>(OnButtonClick);
}
}
El primero parece ser más correcto que el segundo en lo que respecta a las pérdidas de memoria. Pero, ¿es realmente correcto?
No olvide marcar una respuesta como la respuesta, ayuda a enriquecer el contenido de este sitio. –