IDispoable in vererbten Klassen?
-
Hallo , hab folgendes Denkproblem:
class Foo : IDisposable { public virtual void Dispose() { } } class Bar : Foo, IDisposable { public virtual void Dispose() { }
}
wie msus ich das umsetzen, wenn die basisklasse IDisposable implementiert, und die davon abgeleitet klasse für sich selbst auch was zerstören muss, bzw. wenn die abgeleitet Klasse Dispose von Foo aufrufen muss!?!?!?
-
ich wuerd sagen
class Foo : IDisposable { public virtual void Dispose() { // clean up } } class Bar : Foo, IDisposable { public virtual void Dispose() { // clean up base.Dispose(); // let the base clean up } }
bin mir aber nicht sicher
//dazuedit
muss das Bar ueberhaupt noch IDisposable explizit erben ? ist es doch schon da Foo schon vom typen IDisposable ist ?!
-
Da ist auch eine Abhandlung über IDispose im Zusammenhang mit Vererbung:
http://msdn.microsoft.com/en-us/magazine/cc163392.aspx
-