|
Exemple 11-33 extrait du chapitre Notions de classe et d'objet
Exemple 11-32< > Exemple 11-34
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:library Exemple_11_33.cs Erreurs: 0 Avertissements: 0 Remarque:
Exemple_11_33.cs
public class Foo : System.IDisposable {
public Foo() {
// Ici éventuellement allocation des ressources.
}
private bool m_bDisposed = false;
public void Fct() {
if ( m_bDisposed )
throw new System.ObjectDisposedException("Nom de l'objet");
// Ici le corps de Fct().
}
public void Dispose() {
Dispose(true);
System.GC.SuppressFinalize(this);
}
~Foo() { Dispose(false); }
protected virtual void Dispose(bool bDisposeManagedRes) {
if ( !m_bDisposed ) {
m_bDisposed = true;
// Ici libérer les ressources non-gérées.
if ( bDisposeManagedRes ) {
// Ici libérer les ressources gérées.
}
}
}
}
Copyright Patrick Smacchia 2006 2007
|