3232namespace MongoDB . Driver
3333{
3434 /// <inheritdoc/>
35- public class MongoClient : MongoClientBase
35+ public sealed class MongoClient : IMongoClient
3636 {
3737 // private fields
3838 private readonly IClusterInternal _cluster ;
@@ -96,19 +96,11 @@ internal MongoClient(IOperationExecutor operationExecutor, MongoClientSettings s
9696 }
9797
9898 // public properties
99- /// <summary>
100- /// Gets the cluster.
101- /// </summary>
102- public override ICluster Cluster
103- {
104- get { return _cluster ; }
105- }
99+ /// <inheritdoc/>
100+ public ICluster Cluster => _cluster ;
106101
107102 /// <inheritdoc/>
108- public sealed override MongoClientSettings Settings
109- {
110- get { return _settings ; }
111- }
103+ public MongoClientSettings Settings => _settings ;
112104
113105 // internal properties
114106 internal IAutoEncryptionLibMongoCryptController LibMongoCryptController => _libMongoCryptController ;
@@ -130,13 +122,13 @@ internal void ConfigureAutoEncryptionMessageEncoderSettings(MessageEncoderSettin
130122
131123 // public methods
132124 /// <inheritdoc/>
133- public sealed override void DropDatabase ( string name , CancellationToken cancellationToken = default ( CancellationToken ) )
125+ public void DropDatabase ( string name , CancellationToken cancellationToken = default ( CancellationToken ) )
134126 {
135127 UsingImplicitSession ( session => DropDatabase ( session , name , cancellationToken ) , cancellationToken ) ;
136128 }
137129
138130 /// <inheritdoc/>
139- public sealed override void DropDatabase ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default ( CancellationToken ) )
131+ public void DropDatabase ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default ( CancellationToken ) )
140132 {
141133 Ensure . IsNotNull ( session , nameof ( session ) ) ;
142134 var messageEncoderSettings = GetMessageEncoderSettings ( ) ;
@@ -148,13 +140,13 @@ internal void ConfigureAutoEncryptionMessageEncoderSettings(MessageEncoderSettin
148140 }
149141
150142 /// <inheritdoc/>
151- public sealed override Task DropDatabaseAsync ( string name , CancellationToken cancellationToken = default ( CancellationToken ) )
143+ public Task DropDatabaseAsync ( string name , CancellationToken cancellationToken = default ( CancellationToken ) )
152144 {
153145 return UsingImplicitSessionAsync ( session => DropDatabaseAsync ( session , name , cancellationToken ) , cancellationToken ) ;
154146 }
155147
156148 /// <inheritdoc/>
157- public sealed override Task DropDatabaseAsync ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default ( CancellationToken ) )
149+ public Task DropDatabaseAsync ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default ( CancellationToken ) )
158150 {
159151 Ensure . IsNotNull ( session , nameof ( session ) ) ;
160152 var messageEncoderSettings = GetMessageEncoderSettings ( ) ;
@@ -166,42 +158,42 @@ internal void ConfigureAutoEncryptionMessageEncoderSettings(MessageEncoderSettin
166158 }
167159
168160 /// <inheritdoc/>
169- public sealed override IMongoDatabase GetDatabase ( string name , MongoDatabaseSettings settings = null )
161+ public IMongoDatabase GetDatabase ( string name , MongoDatabaseSettings settings = null )
170162 {
171163 settings = settings == null ?
172164 new MongoDatabaseSettings ( ) :
173165 settings . Clone ( ) ;
174166
175167 settings . ApplyDefaultValues ( _settings ) ;
176168
177- return new MongoDatabaseImpl ( this , new DatabaseNamespace ( name ) , settings , _cluster , _operationExecutor ) ;
169+ return new MongoDatabase ( this , new DatabaseNamespace ( name ) , settings , _cluster , _operationExecutor ) ;
178170 }
179171
180172 /// <inheritdoc />
181- public sealed override IAsyncCursor < string > ListDatabaseNames (
173+ public IAsyncCursor < string > ListDatabaseNames (
182174 CancellationToken cancellationToken = default ( CancellationToken ) )
183175 {
184176 return ListDatabaseNames ( options : null , cancellationToken ) ;
185177 }
186178
187179 /// <inheritdoc />
188- public sealed override IAsyncCursor < string > ListDatabaseNames (
180+ public IAsyncCursor < string > ListDatabaseNames (
189181 ListDatabaseNamesOptions options ,
190182 CancellationToken cancellationToken = default ( CancellationToken ) )
191183 {
192184 return UsingImplicitSession ( session => ListDatabaseNames ( session , options , cancellationToken ) , cancellationToken ) ;
193185 }
194186
195187 /// <inheritdoc />
196- public sealed override IAsyncCursor < string > ListDatabaseNames (
188+ public IAsyncCursor < string > ListDatabaseNames (
197189 IClientSessionHandle session ,
198190 CancellationToken cancellationToken = default ( CancellationToken ) )
199191 {
200192 return ListDatabaseNames ( session , options : null , cancellationToken ) ;
201193 }
202194
203195 /// <inheritdoc />
204- public sealed override IAsyncCursor < string > ListDatabaseNames (
196+ public IAsyncCursor < string > ListDatabaseNames (
205197 IClientSessionHandle session ,
206198 ListDatabaseNamesOptions options ,
207199 CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -213,30 +205,30 @@ public sealed override IAsyncCursor<string> ListDatabaseNames(
213205 }
214206
215207 /// <inheritdoc />
216- public sealed override Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
208+ public Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
217209 CancellationToken cancellationToken = default ( CancellationToken ) )
218210 {
219211 return ListDatabaseNamesAsync ( options : null , cancellationToken ) ;
220212 }
221213
222214 /// <inheritdoc />
223- public sealed override Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
215+ public Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
224216 ListDatabaseNamesOptions options ,
225217 CancellationToken cancellationToken = default ( CancellationToken ) )
226218 {
227219 return UsingImplicitSessionAsync ( session => ListDatabaseNamesAsync ( session , options , cancellationToken ) , cancellationToken ) ;
228220 }
229221
230222 /// <inheritdoc />
231- public sealed override Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
223+ public Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
232224 IClientSessionHandle session ,
233225 CancellationToken cancellationToken = default ( CancellationToken ) )
234226 {
235227 return ListDatabaseNamesAsync ( session , options : null , cancellationToken ) ;
236228 }
237229
238230 /// <inheritdoc />
239- public sealed override async Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
231+ public async Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
240232 IClientSessionHandle session ,
241233 ListDatabaseNamesOptions options ,
242234 CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -248,30 +240,30 @@ public sealed override async Task<IAsyncCursor<string>> ListDatabaseNamesAsync(
248240 }
249241
250242 /// <inheritdoc/>
251- public sealed override IAsyncCursor < BsonDocument > ListDatabases (
243+ public IAsyncCursor < BsonDocument > ListDatabases (
252244 CancellationToken cancellationToken = default ( CancellationToken ) )
253245 {
254246 return UsingImplicitSession ( session => ListDatabases ( session , cancellationToken ) , cancellationToken ) ;
255247 }
256248
257249 /// <inheritdoc/>
258- public sealed override IAsyncCursor < BsonDocument > ListDatabases (
250+ public IAsyncCursor < BsonDocument > ListDatabases (
259251 ListDatabasesOptions options ,
260252 CancellationToken cancellationToken = default ( CancellationToken ) )
261253 {
262254 return UsingImplicitSession ( session => ListDatabases ( session , options , cancellationToken ) , cancellationToken ) ;
263255 }
264256
265257 /// <inheritdoc/>
266- public sealed override IAsyncCursor < BsonDocument > ListDatabases (
258+ public IAsyncCursor < BsonDocument > ListDatabases (
267259 IClientSessionHandle session ,
268260 CancellationToken cancellationToken = default ( CancellationToken ) )
269261 {
270262 return ListDatabases ( session , null , cancellationToken ) ;
271263 }
272264
273265 /// <inheritdoc/>
274- public sealed override IAsyncCursor < BsonDocument > ListDatabases (
266+ public IAsyncCursor < BsonDocument > ListDatabases (
275267 IClientSessionHandle session ,
276268 ListDatabasesOptions options ,
277269 CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -285,30 +277,30 @@ public sealed override IAsyncCursor<BsonDocument> ListDatabases(
285277 }
286278
287279 /// <inheritdoc/>
288- public sealed override Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
280+ public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
289281 CancellationToken cancellationToken = default ( CancellationToken ) )
290282 {
291283 return UsingImplicitSessionAsync ( session => ListDatabasesAsync ( session , null , cancellationToken ) , cancellationToken ) ;
292284 }
293285
294286 /// <inheritdoc/>
295- public sealed override Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
287+ public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
296288 ListDatabasesOptions options ,
297289 CancellationToken cancellationToken = default ( CancellationToken ) )
298290 {
299291 return UsingImplicitSessionAsync ( session => ListDatabasesAsync ( session , options , cancellationToken ) , cancellationToken ) ;
300292 }
301293
302294 /// <inheritdoc/>
303- public sealed override Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
295+ public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
304296 IClientSessionHandle session ,
305297 CancellationToken cancellationToken = default ( CancellationToken ) )
306298 {
307299 return ListDatabasesAsync ( session , null , cancellationToken ) ;
308300 }
309301
310302 /// <inheritdoc/>
311- public sealed override Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
303+ public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
312304 IClientSessionHandle session ,
313305 ListDatabasesOptions options ,
314306 CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -340,19 +332,19 @@ internal Task<IClientSessionHandle> StartImplicitSessionAsync(CancellationToken
340332 }
341333
342334 /// <inheritdoc/>
343- public sealed override IClientSessionHandle StartSession ( ClientSessionOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
335+ public IClientSessionHandle StartSession ( ClientSessionOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
344336 {
345337 return StartSession ( options ) ;
346338 }
347339
348340 /// <inheritdoc/>
349- public sealed override Task < IClientSessionHandle > StartSessionAsync ( ClientSessionOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
341+ public Task < IClientSessionHandle > StartSessionAsync ( ClientSessionOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
350342 {
351343 return Task . FromResult ( StartSession ( options ) ) ;
352344 }
353345
354346 /// <inheritdoc/>
355- public override IChangeStreamCursor < TResult > Watch < TResult > (
347+ public IChangeStreamCursor < TResult > Watch < TResult > (
356348 PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
357349 ChangeStreamOptions options = null ,
358350 CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -361,7 +353,7 @@ public override IChangeStreamCursor<TResult> Watch<TResult>(
361353 }
362354
363355 /// <inheritdoc/>
364- public override IChangeStreamCursor < TResult > Watch < TResult > (
356+ public IChangeStreamCursor < TResult > Watch < TResult > (
365357 IClientSessionHandle session ,
366358 PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
367359 ChangeStreamOptions options = null ,
@@ -375,7 +367,7 @@ public override IChangeStreamCursor<TResult> Watch<TResult>(
375367 }
376368
377369 /// <inheritdoc/>
378- public override Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
370+ public Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
379371 PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
380372 ChangeStreamOptions options = null ,
381373 CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -384,7 +376,7 @@ public override Task<IChangeStreamCursor<TResult>> WatchAsync<TResult>(
384376 }
385377
386378 /// <inheritdoc/>
387- public override Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
379+ public Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
388380 IClientSessionHandle session ,
389381 PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
390382 ChangeStreamOptions options = null ,
@@ -398,7 +390,7 @@ public override Task<IChangeStreamCursor<TResult>> WatchAsync<TResult>(
398390 }
399391
400392 /// <inheritdoc/>
401- public override IMongoClient WithReadConcern ( ReadConcern readConcern )
393+ public IMongoClient WithReadConcern ( ReadConcern readConcern )
402394 {
403395 Ensure . IsNotNull ( readConcern , nameof ( readConcern ) ) ;
404396 var newSettings = Settings . Clone ( ) ;
@@ -407,7 +399,7 @@ public override IMongoClient WithReadConcern(ReadConcern readConcern)
407399 }
408400
409401 /// <inheritdoc/>
410- public override IMongoClient WithReadPreference ( ReadPreference readPreference )
402+ public IMongoClient WithReadPreference ( ReadPreference readPreference )
411403 {
412404 Ensure . IsNotNull ( readPreference , nameof ( readPreference ) ) ;
413405 var newSettings = Settings . Clone ( ) ;
@@ -416,7 +408,7 @@ public override IMongoClient WithReadPreference(ReadPreference readPreference)
416408 }
417409
418410 /// <inheritdoc/>
419- public override IMongoClient WithWriteConcern ( WriteConcern writeConcern )
411+ public IMongoClient WithWriteConcern ( WriteConcern writeConcern )
420412 {
421413 Ensure . IsNotNull ( writeConcern , nameof ( writeConcern ) ) ;
422414 var newSettings = Settings . Clone ( ) ;
0 commit comments