If I have a class which wraps a class which implements IDisposable,
should I implement IDisposable, too, in the wrapping class, and call
the wrapped class Dispose() from the wrapping class Dispose()?
E.g.
Public Class Widget : IDisposable
{
private DisposableObject disposableObject;
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
disposableObject.Dispose()
}
}
~Widget()
{
Dispose(false);
}