I'm using a class that extends ClientBase<>:
interface IService {}
class MyServiceClient : ClientBase<IService> {}
The issue I run into is that FxCop complains that a class with MyServiceClient as a member variable should also implement IDisposable and dispose of MyServiceClient.
ClientBase has an explicit implementation of Dispose(), which means a simple MyServiceClient.Dispose() doesn't compile. I have to explicitly cast to IDisposable. Why is that? Is it a signal that I shouldn't use Dispose()? Should I use Close() instead?