// public methods /// <summary> /// Creates a clone of the settings. /// </summary> /// <returns>A clone of the settings.</returns> public MongoServerSettings Clone() { var clone = new MongoServerSettings(); clone._connectionMode = _connectionMode; clone._connectTimeout = _connectTimeout; clone._credentialsStore = _credentialsStore.Clone(); clone._defaultCredentials = _defaultCredentials; clone._guidRepresentation = _guidRepresentation; clone._ipv6 = _ipv6; clone._maxConnectionIdleTime = _maxConnectionIdleTime; clone._maxConnectionLifeTime = _maxConnectionLifeTime; clone._maxConnectionPoolSize = _maxConnectionPoolSize; clone._minConnectionPoolSize = _minConnectionPoolSize; clone._readPreference = _readPreference.Clone(); clone._replicaSetName = _replicaSetName; clone._secondaryAcceptableLatency = _secondaryAcceptableLatency; clone._servers = new List <MongoServerAddress>(_servers); clone._socketTimeout = _socketTimeout; clone._useSsl = _useSsl; clone._verifySslCertificate = _verifySslCertificate; clone._waitQueueSize = _waitQueueSize; clone._waitQueueTimeout = _waitQueueTimeout; clone._writeConcern = _writeConcern.Clone(); return(clone); }