protected virtual void Dispose(bool disposing) { if (Interlocked.CompareExchange(ref _disposed, 1, 0) == 0) { if (disposing) { Reader.Dispose(); //Reader = null; } } }