@@ -68,6 +68,31 @@ public static byte[] ToBson(
68
68
BsonBinaryWriterSettings writerSettings = null ,
69
69
IBsonSerializer serializer = null ,
70
70
Action < BsonSerializationContext . Builder > configurator = null ,
71
+ BsonSerializationArgs args = default ,
72
+ int estimatedBsonSize = 0 ) => ToBson ( obj , nominalType , BsonSerializer . DefaultSerializationDomain , writerSettings ,
73
+ serializer , configurator , args , estimatedBsonSize ) ;
74
+
75
+ /// <summary>
76
+ /// //TODO
77
+ /// </summary>
78
+ /// <param name="obj"></param>
79
+ /// <param name="nominalType"></param>
80
+ /// <param name="domain"></param>
81
+ /// <param name="writerSettings"></param>
82
+ /// <param name="serializer"></param>
83
+ /// <param name="configurator"></param>
84
+ /// <param name="args"></param>
85
+ /// <param name="estimatedBsonSize"></param>
86
+ /// <returns></returns>
87
+ /// <exception cref="ArgumentException"></exception>
88
+ /// <exception cref="ArgumentNullException"></exception>
89
+ public static byte [ ] ToBson (
90
+ this object obj ,
91
+ Type nominalType ,
92
+ IBsonSerializationDomain domain ,
93
+ BsonBinaryWriterSettings writerSettings = null ,
94
+ IBsonSerializer serializer = null ,
95
+ Action < BsonSerializationContext . Builder > configurator = null ,
71
96
BsonSerializationArgs args = default ( BsonSerializationArgs ) ,
72
97
int estimatedBsonSize = 0 )
73
98
{
@@ -84,7 +109,7 @@ public static byte[] ToBson(
84
109
85
110
if ( serializer == null )
86
111
{
87
- serializer = BsonSerializer . LookupSerializer ( nominalType ) ;
112
+ serializer = domain . LookupSerializer ( nominalType ) ;
88
113
}
89
114
if ( serializer . ValueType != nominalType )
90
115
{
@@ -138,7 +163,28 @@ public static BsonDocument ToBsonDocument(
138
163
Type nominalType ,
139
164
IBsonSerializer serializer = null ,
140
165
Action < BsonSerializationContext . Builder > configurator = null ,
141
- BsonSerializationArgs args = default ( BsonSerializationArgs ) )
166
+ BsonSerializationArgs args = default ) => ToBsonDocument ( obj , nominalType ,
167
+ BsonSerializer . DefaultSerializationDomain , serializer , configurator , args ) ;
168
+
169
+ /// <summary>
170
+ /// //TODO
171
+ /// </summary>
172
+ /// <param name="obj"></param>
173
+ /// <param name="nominalType"></param>
174
+ /// <param name="domain"></param>
175
+ /// <param name="serializer"></param>
176
+ /// <param name="configurator"></param>
177
+ /// <param name="args"></param>
178
+ /// <returns></returns>
179
+ /// <exception cref="ArgumentNullException"></exception>
180
+ /// <exception cref="ArgumentException"></exception>
181
+ public static BsonDocument ToBsonDocument (
182
+ this object obj ,
183
+ Type nominalType ,
184
+ IBsonSerializationDomain domain ,
185
+ IBsonSerializer serializer = null ,
186
+ Action < BsonSerializationContext . Builder > configurator = null ,
187
+ BsonSerializationArgs args = default )
142
188
{
143
189
if ( nominalType == null )
144
190
{
@@ -165,7 +211,7 @@ public static BsonDocument ToBsonDocument(
165
211
return convertibleToBsonDocument . ToBsonDocument ( ) ; // use the provided ToBsonDocument method
166
212
}
167
213
168
- serializer = BsonSerializer . LookupSerializer ( nominalType ) ;
214
+ serializer = domain . LookupSerializer ( nominalType ) ;
169
215
}
170
216
if ( serializer . ValueType != nominalType )
171
217
{
@@ -226,6 +272,29 @@ public static string ToJson(
226
272
JsonWriterSettings writerSettings = null ,
227
273
IBsonSerializer serializer = null ,
228
274
Action < BsonSerializationContext . Builder > configurator = null ,
275
+ BsonSerializationArgs args = default )
276
+ => ToJson ( obj , nominalType , BsonSerializer . DefaultSerializationDomain , writerSettings , serializer , configurator , args ) ;
277
+
278
+ /// <summary>
279
+ /// //TODO
280
+ /// </summary>
281
+ /// <param name="obj"></param>
282
+ /// <param name="nominalType"></param>
283
+ /// <param name="domain"></param>
284
+ /// <param name="writerSettings"></param>
285
+ /// <param name="serializer"></param>
286
+ /// <param name="configurator"></param>
287
+ /// <param name="args"></param>
288
+ /// <returns></returns>
289
+ /// <exception cref="ArgumentNullException"></exception>
290
+ /// <exception cref="ArgumentException"></exception>
291
+ public static string ToJson (
292
+ this object obj ,
293
+ Type nominalType ,
294
+ IBsonSerializationDomain domain ,
295
+ JsonWriterSettings writerSettings = null ,
296
+ IBsonSerializer serializer = null ,
297
+ Action < BsonSerializationContext . Builder > configurator = null ,
229
298
BsonSerializationArgs args = default ( BsonSerializationArgs ) )
230
299
{
231
300
if ( nominalType == null )
@@ -236,7 +305,7 @@ public static string ToJson(
236
305
237
306
if ( serializer == null )
238
307
{
239
- serializer = BsonSerializer . LookupSerializer ( nominalType ) ;
308
+ serializer = domain . LookupSerializer ( nominalType ) ;
240
309
}
241
310
if ( serializer . ValueType != nominalType )
242
311
{
0 commit comments