Ciao a tutti, sto imparando il C#....ma non capisco bene il pattern dispose come funziona...
e ho un po di dubbi...qualcuno puo darmi una mano ^^;
Questo è l'esempio offerto da M ....ho segnato i passaggi che non mi sono chiari:P
// Design pattern for a base class.
public class Base: IDisposable
{
//Implement IDisposable.
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this); // questo metodo server per notificare al GC che non
// deve occuparsi dell istanza di questa classe?
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
// Free other state (managed objects). // qui non capisco....
}
// Free your own state (unmanaged objects).
// Set large fields to null.
}
// Use C# destructor syntax for finalization code.
~Base()
{
// Simply call Dispose(false).
Dispose (false); // perchè viene richiamato con false....per evitare una chiamata Finalized?
}
}
// Design pattern for a derived class.
public class Derived: Base
{
protected override void Dispose(bool disposing)
{
if (disposing)
{
// Release managed resources.
}
}
}
Grazie un anticipo per la vostra risposta!