@@ -25,8 +25,6 @@ namespace MongoDB.Bson
25
25
/// </summary>
26
26
public static class BsonExtensionMethods
27
27
{
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.
30
28
/// <summary>
31
29
/// Serializes an object to a BSON byte array.
32
30
/// </summary>
@@ -43,21 +41,12 @@ public static byte[] ToBson<TNominalType>(
43
41
IBsonSerializer < TNominalType > serializer = null ,
44
42
BsonBinaryWriterSettings writerSettings = null ,
45
43
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 ) ,
56
45
int estimatedBsonSize = 0 )
57
46
{
58
47
args . SetOrValidateNominalType ( typeof ( TNominalType ) , "<TNominalType>" ) ;
59
48
60
- return ToBson ( obj , typeof ( TNominalType ) , serializationDomain , writerSettings , serializer , configurator , args , estimatedBsonSize ) ;
49
+ return ToBson ( obj , typeof ( TNominalType ) , writerSettings , serializer , configurator , args , estimatedBsonSize ) ;
61
50
}
62
51
63
52
/// <summary>
@@ -79,18 +68,7 @@ public static byte[] ToBson(
79
68
BsonBinaryWriterSettings writerSettings = null ,
80
69
IBsonSerializer serializer = null ,
81
70
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 ) ,
94
72
int estimatedBsonSize = 0 )
95
73
{
96
74
if ( estimatedBsonSize < 0 )
@@ -106,7 +84,7 @@ private static byte[] ToBson(
106
84
107
85
if ( serializer == null )
108
86
{
109
- serializer = serializationDomain . LookupSerializer ( nominalType ) ;
87
+ serializer = BsonSerializationDomain . Default . LookupSerializer ( nominalType ) ;
110
88
}
111
89
if ( serializer . ValueType != nominalType )
112
90
{
@@ -118,7 +96,7 @@ private static byte[] ToBson(
118
96
{
119
97
using ( var bsonWriter = new BsonBinaryWriter ( memoryStream , writerSettings ?? BsonBinaryWriterSettings . Defaults ) )
120
98
{
121
- var context = BsonSerializationContext . CreateRoot ( bsonWriter , serializationDomain , configurator ) ;
99
+ var context = BsonSerializationContext . CreateRoot ( bsonWriter , configurator ) ;
122
100
serializer . Serialize ( context , args , obj ) ;
123
101
}
124
102
return memoryStream . ToArray ( ) ;
@@ -138,7 +116,7 @@ public static BsonDocument ToBsonDocument<TNominalType>(
138
116
this TNominalType obj ,
139
117
IBsonSerializer < TNominalType > serializer = null ,
140
118
Action < BsonSerializationContext . Builder > configurator = null ,
141
- BsonSerializationArgs args = default )
119
+ BsonSerializationArgs args = default ( BsonSerializationArgs ) )
142
120
{
143
121
args . SetOrValidateNominalType ( typeof ( TNominalType ) , "<TNominalType>" ) ;
144
122
return ToBsonDocument ( obj , typeof ( TNominalType ) , serializer , configurator , args ) ;
@@ -160,16 +138,7 @@ public static BsonDocument ToBsonDocument(
160
138
Type nominalType ,
161
139
IBsonSerializer serializer = null ,
162
140
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 ) )
173
142
{
174
143
if ( nominalType == null )
175
144
{
@@ -196,7 +165,7 @@ private static BsonDocument ToBsonDocument(
196
165
return convertibleToBsonDocument . ToBsonDocument ( ) ; // use the provided ToBsonDocument method
197
166
}
198
167
199
- serializer = serializationDomain . LookupSerializer ( nominalType ) ;
168
+ serializer = BsonSerializationDomain . Default . LookupSerializer ( nominalType ) ;
200
169
}
201
170
if ( serializer . ValueType != nominalType )
202
171
{
@@ -208,7 +177,7 @@ private static BsonDocument ToBsonDocument(
208
177
var document = new BsonDocument ( ) ;
209
178
using ( var bsonWriter = new BsonDocumentWriter ( document ) )
210
179
{
211
- var context = BsonSerializationContext . CreateRoot ( bsonWriter , serializationDomain , configurator ) ;
180
+ var context = BsonSerializationContext . CreateRoot ( bsonWriter , configurator ) ;
212
181
serializer . Serialize ( context , args , obj ) ;
213
182
}
214
183
return document ;
@@ -231,7 +200,7 @@ public static string ToJson<TNominalType>(
231
200
JsonWriterSettings writerSettings = null ,
232
201
IBsonSerializer < TNominalType > serializer = null ,
233
202
Action < BsonSerializationContext . Builder > configurator = null ,
234
- BsonSerializationArgs args = default )
203
+ BsonSerializationArgs args = default ( BsonSerializationArgs ) )
235
204
{
236
205
args . SetOrValidateNominalType ( typeof ( TNominalType ) , "<TNominalType>" ) ;
237
206
return ToJson ( obj , typeof ( TNominalType ) , writerSettings , serializer , configurator , args ) ;
@@ -257,17 +226,7 @@ public static string ToJson(
257
226
JsonWriterSettings writerSettings = null ,
258
227
IBsonSerializer serializer = null ,
259
228
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 ) )
271
230
{
272
231
if ( nominalType == null )
273
232
{
@@ -277,7 +236,7 @@ private static string ToJson(
277
236
278
237
if ( serializer == null )
279
238
{
280
- serializer = domain . LookupSerializer ( nominalType ) ;
239
+ serializer = BsonSerializationDomain . Default . LookupSerializer ( nominalType ) ;
281
240
}
282
241
if ( serializer . ValueType != nominalType )
283
242
{
@@ -289,7 +248,7 @@ private static string ToJson(
289
248
{
290
249
using ( var bsonWriter = new JsonWriter ( stringWriter , writerSettings ?? JsonWriterSettings . Defaults ) )
291
250
{
292
- var context = BsonSerializationContext . CreateRoot ( bsonWriter , domain , configurator ) ;
251
+ var context = BsonSerializationContext . CreateRoot ( bsonWriter , configurator ) ;
293
252
serializer . Serialize ( context , args , obj ) ;
294
253
}
295
254
return stringWriter . ToString ( ) ;
0 commit comments