private void ClientDisconnect(object obj) { ClientManager clientManager = obj as ClientManager; if (clientManager == null) { return; } if (_clientManagers != null) { lock (_clientManagers) { if (_clientManagers.Contains(clientManager)) { _clientManagers.Remove(clientManager); } } } if (_clientDisconnectCallback != null) { _clientDisconnectCallback(clientManager); } clientManager.Dispose(); }