void DoClose() { if (_socket is object && _socket.Connected) { _socket.Close(); } }
public override void Close() { if (_ownsSocket) { _socket.Close(); } base.Close(); }
private bool disposedValue = false; // To detect redundant calls void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { _socket?.Close(); _socket?.Dispose(); _socket = null; } disposedValue = true; } }