@@ -25,8 +25,6 @@ namespace MongoDB.Bson
2525 /// </summary>
2626 public static class BsonExtensionMethods
2727 {
28- //DOMAIN-API We should remove all the methods that do not take a serialization domain.
29- //QUESTION: Do we want to do something now about this...? It's used also internally, but it seems in most cases it's used for "default serialization", so it should be ok.
3028 /// <summary>
3129 /// Serializes an object to a BSON byte array.
3230 /// </summary>
@@ -43,21 +41,12 @@ public static byte[] ToBson<TNominalType>(
4341 IBsonSerializer < TNominalType > serializer = null ,
4442 BsonBinaryWriterSettings writerSettings = null ,
4543 Action < BsonSerializationContext . Builder > configurator = null ,
46- BsonSerializationArgs args = default ,
47- int estimatedBsonSize = 0 ) => ToBson ( obj , BsonSerializer . DefaultSerializationDomain , serializer , writerSettings , configurator , args , estimatedBsonSize ) ;
48-
49- private static byte [ ] ToBson < TNominalType > (
50- this TNominalType obj ,
51- IBsonSerializationDomain serializationDomain ,
52- IBsonSerializer < TNominalType > serializer = null ,
53- BsonBinaryWriterSettings writerSettings = null ,
54- Action < BsonSerializationContext . Builder > configurator = null ,
55- BsonSerializationArgs args = default ,
44+ BsonSerializationArgs args = default ( BsonSerializationArgs ) ,
5645 int estimatedBsonSize = 0 )
5746 {
5847 args . SetOrValidateNominalType ( typeof ( TNominalType ) , "<TNominalType>" ) ;
5948
60- return ToBson ( obj , typeof ( TNominalType ) , serializationDomain , writerSettings , serializer , configurator , args , estimatedBsonSize ) ;
49+ return ToBson ( obj , typeof ( TNominalType ) , writerSettings , serializer , configurator , args , estimatedBsonSize ) ;
6150 }
6251
6352 /// <summary>
@@ -79,18 +68,7 @@ public static byte[] ToBson(
7968 BsonBinaryWriterSettings writerSettings = null ,
8069 IBsonSerializer serializer = null ,
8170 Action < BsonSerializationContext . Builder > configurator = null ,
82- BsonSerializationArgs args = default ,
83- int estimatedBsonSize = 0 ) => ToBson ( obj , nominalType , BsonSerializer . DefaultSerializationDomain , writerSettings ,
84- serializer , configurator , args , estimatedBsonSize ) ;
85-
86- private static byte [ ] ToBson (
87- this object obj ,
88- Type nominalType ,
89- IBsonSerializationDomain serializationDomain ,
90- BsonBinaryWriterSettings writerSettings = null ,
91- IBsonSerializer serializer = null ,
92- Action < BsonSerializationContext . Builder > configurator = null ,
93- BsonSerializationArgs args = default ,
71+ BsonSerializationArgs args = default ( BsonSerializationArgs ) ,
9472 int estimatedBsonSize = 0 )
9573 {
9674 if ( estimatedBsonSize < 0 )
@@ -106,7 +84,7 @@ private static byte[] ToBson(
10684
10785 if ( serializer == null )
10886 {
109- serializer = serializationDomain . LookupSerializer ( nominalType ) ;
87+ serializer = BsonSerializationDomain . Default . LookupSerializer ( nominalType ) ;
11088 }
11189 if ( serializer . ValueType != nominalType )
11290 {
@@ -118,7 +96,7 @@ private static byte[] ToBson(
11896 {
11997 using ( var bsonWriter = new BsonBinaryWriter ( memoryStream , writerSettings ?? BsonBinaryWriterSettings . Defaults ) )
12098 {
121- var context = BsonSerializationContext . CreateRoot ( bsonWriter , serializationDomain , configurator ) ;
99+ var context = BsonSerializationContext . CreateRoot ( bsonWriter , configurator ) ;
122100 serializer . Serialize ( context , args , obj ) ;
123101 }
124102 return memoryStream . ToArray ( ) ;
@@ -138,7 +116,7 @@ public static BsonDocument ToBsonDocument<TNominalType>(
138116 this TNominalType obj ,
139117 IBsonSerializer < TNominalType > serializer = null ,
140118 Action < BsonSerializationContext . Builder > configurator = null ,
141- BsonSerializationArgs args = default )
119+ BsonSerializationArgs args = default ( BsonSerializationArgs ) )
142120 {
143121 args . SetOrValidateNominalType ( typeof ( TNominalType ) , "<TNominalType>" ) ;
144122 return ToBsonDocument ( obj , typeof ( TNominalType ) , serializer , configurator , args ) ;
@@ -160,16 +138,7 @@ public static BsonDocument ToBsonDocument(
160138 Type nominalType ,
161139 IBsonSerializer serializer = null ,
162140 Action < BsonSerializationContext . Builder > configurator = null ,
163- BsonSerializationArgs args = default ) => ToBsonDocument ( obj , nominalType ,
164- BsonSerializer . DefaultSerializationDomain , serializer , configurator , args ) ;
165-
166- private static BsonDocument ToBsonDocument (
167- this object obj ,
168- Type nominalType ,
169- IBsonSerializationDomain serializationDomain ,
170- IBsonSerializer serializer = null ,
171- Action < BsonSerializationContext . Builder > configurator = null ,
172- BsonSerializationArgs args = default )
141+ BsonSerializationArgs args = default ( BsonSerializationArgs ) )
173142 {
174143 if ( nominalType == null )
175144 {
@@ -196,7 +165,7 @@ private static BsonDocument ToBsonDocument(
196165 return convertibleToBsonDocument . ToBsonDocument ( ) ; // use the provided ToBsonDocument method
197166 }
198167
199- serializer = serializationDomain . LookupSerializer ( nominalType ) ;
168+ serializer = BsonSerializationDomain . Default . LookupSerializer ( nominalType ) ;
200169 }
201170 if ( serializer . ValueType != nominalType )
202171 {
@@ -208,7 +177,7 @@ private static BsonDocument ToBsonDocument(
208177 var document = new BsonDocument ( ) ;
209178 using ( var bsonWriter = new BsonDocumentWriter ( document ) )
210179 {
211- var context = BsonSerializationContext . CreateRoot ( bsonWriter , serializationDomain , configurator ) ;
180+ var context = BsonSerializationContext . CreateRoot ( bsonWriter , configurator ) ;
212181 serializer . Serialize ( context , args , obj ) ;
213182 }
214183 return document ;
@@ -231,7 +200,7 @@ public static string ToJson<TNominalType>(
231200 JsonWriterSettings writerSettings = null ,
232201 IBsonSerializer < TNominalType > serializer = null ,
233202 Action < BsonSerializationContext . Builder > configurator = null ,
234- BsonSerializationArgs args = default )
203+ BsonSerializationArgs args = default ( BsonSerializationArgs ) )
235204 {
236205 args . SetOrValidateNominalType ( typeof ( TNominalType ) , "<TNominalType>" ) ;
237206 return ToJson ( obj , typeof ( TNominalType ) , writerSettings , serializer , configurator , args ) ;
@@ -257,17 +226,7 @@ public static string ToJson(
257226 JsonWriterSettings writerSettings = null ,
258227 IBsonSerializer serializer = null ,
259228 Action < BsonSerializationContext . Builder > configurator = null ,
260- BsonSerializationArgs args = default )
261- => ToJson ( obj , nominalType , BsonSerializer . DefaultSerializationDomain , writerSettings , serializer , configurator , args ) ;
262-
263- private static string ToJson (
264- this object obj ,
265- Type nominalType ,
266- IBsonSerializationDomain domain ,
267- JsonWriterSettings writerSettings = null ,
268- IBsonSerializer serializer = null ,
269- Action < BsonSerializationContext . Builder > configurator = null ,
270- BsonSerializationArgs args = default )
229+ BsonSerializationArgs args = default ( BsonSerializationArgs ) )
271230 {
272231 if ( nominalType == null )
273232 {
@@ -277,7 +236,7 @@ private static string ToJson(
277236
278237 if ( serializer == null )
279238 {
280- serializer = domain . LookupSerializer ( nominalType ) ;
239+ serializer = BsonSerializationDomain . Default . LookupSerializer ( nominalType ) ;
281240 }
282241 if ( serializer . ValueType != nominalType )
283242 {
@@ -289,7 +248,7 @@ private static string ToJson(
289248 {
290249 using ( var bsonWriter = new JsonWriter ( stringWriter , writerSettings ?? JsonWriterSettings . Defaults ) )
291250 {
292- var context = BsonSerializationContext . CreateRoot ( bsonWriter , domain , configurator ) ;
251+ var context = BsonSerializationContext . CreateRoot ( bsonWriter , configurator ) ;
293252 serializer . Serialize ( context , args , obj ) ;
294253 }
295254 return stringWriter . ToString ( ) ;
0 commit comments