I know that if you have a class which has a member which implements IDispose, your class should also implement IDispose. Does that apply to cases where you inherit from a class which implements IDispose?
Example:
class OwnsSocket: IDisposable
{
... implements dispose pattern
{
class DerivedSocketOwner: OwnsSocket
{
}
Should DerivedSocketOwner implement IDisposable as well?
I think I'm running into an issue where an object is getting disposed, but the socket has not been closed, then an async callback for the socket gets called, but some of the objects it is trying to access have been disposed of already. I'm wondering if this is the culprit.