Einiges über IDisposable
Das Standard Interface IDisposable welches zur “Freigabe” von Ressourcen in .Net dient ist recht Einfach:
public interface IDisposable { void Dispose(); } Nur dieses Interface zu Implementieren reicht in vielen Fällen nicht aus. Es gibt z.B. einen FxCop Fehler Implement IDisposable correctly, dieser erscheint u.a. bei non-sealed Klassen welche keinen Medthode mit der Signatur protected virtual Dispose(bool) besitzen. IDisposable zu Implementieren wird nötig wenn man:
unmanged (native) Ressourcen lädt um diese wieder freizugeben managed Felder besitzt, welche wiederum IDisposable implementieren Im folgenden Beispiel zeigt eine (nach FxCop komplette Implementierung) einer Basis-Klasse und einer Kind-Klasse: