Determining if IDisposable should extend an interface or be implemented on a class implementing said interface
If you expect callers to only be able to interact with the interface, and never the implementation, then you want to have the interface extend IDisposable. If not, they’ll need to check if the value is IDisposable anyway to see if it needs to be disposed. If the object responsible for disposing of the object … Read more