@@ -68,6 +68,31 @@ public static byte[] ToBson(
6868 BsonBinaryWriterSettings writerSettings = null ,
6969 IBsonSerializer serializer = null ,
7070 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 ,
7196 BsonSerializationArgs args = default ( BsonSerializationArgs ) ,
7297 int estimatedBsonSize = 0 )
7398 {
@@ -84,7 +109,7 @@ public static byte[] ToBson(
84109
85110 if ( serializer == null )
86111 {
87- serializer = BsonSerializer . LookupSerializer ( nominalType ) ;
112+ serializer = domain . LookupSerializer ( nominalType ) ;
88113 }
89114 if ( serializer . ValueType != nominalType )
90115 {
@@ -138,7 +163,28 @@ public static BsonDocument ToBsonDocument(
138163 Type nominalType ,
139164 IBsonSerializer serializer = null ,
140165 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 )
142188 {
143189 if ( nominalType == null )
144190 {
@@ -165,7 +211,7 @@ public static BsonDocument ToBsonDocument(
165211 return convertibleToBsonDocument . ToBsonDocument ( ) ; // use the provided ToBsonDocument method
166212 }
167213
168- serializer = BsonSerializer . LookupSerializer ( nominalType ) ;
214+ serializer = domain . LookupSerializer ( nominalType ) ;
169215 }
170216 if ( serializer . ValueType != nominalType )
171217 {
@@ -226,6 +272,29 @@ public static string ToJson(
226272 JsonWriterSettings writerSettings = null ,
227273 IBsonSerializer serializer = null ,
228274 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 ,
229298 BsonSerializationArgs args = default ( BsonSerializationArgs ) )
230299 {
231300 if ( nominalType == null )
@@ -236,7 +305,7 @@ public static string ToJson(
236305
237306 if ( serializer == null )
238307 {
239- serializer = BsonSerializer . LookupSerializer ( nominalType ) ;
308+ serializer = domain . LookupSerializer ( nominalType ) ;
240309 }
241310 if ( serializer . ValueType != nominalType )
242311 {
0 commit comments