Explicit implementation of IDisposable
问题 Although there are quite a lot of Q&As regarding IDisposable to be found on SO, I haven't found an answer to this yet: I usually follow the practice that when one of my classes owns an IDisposable object then it also implements IDisposable and calls Dispose on the owned object. However recently I came across a class which implemented IDisposable explicitly thus preventing me from directly calling Dispose forcing me to cast it which I found annoying and unnecessary. So the question: Why and