/// <summary> /// Serializes a value. /// </summary> /// <typeparam name="TNominalType">The nominal type of the object.</typeparam> /// <param name="bsonWriter">The BsonWriter.</param> /// <param name="value">The object.</param> /// <param name="configurator">The serialization context configurator.</param> /// <param name="args">The serialization args.</param> public static void Serialize <TNominalType>( IBsonWriter bsonWriter, TNominalType value, Action <BsonSerializationContext.Builder> configurator = null, BsonSerializationArgs args = default(BsonSerializationArgs)) { args.SetOrValidateNominalType(typeof(TNominalType), "<TNominalType>"); var serializer = LookupSerializer <TNominalType>(); var context = BsonSerializationContext.CreateRoot(bsonWriter, configurator); serializer.Serialize(context, args, value); }
/// <summary> /// Serializes a value. /// </summary> /// <param name="bsonWriter">The BsonWriter.</param> /// <param name="nominalType">The nominal type of the object.</param> /// <param name="value">The object.</param> /// <param name="configurator">The serialization context configurator.</param> /// <param name="args">The serialization args.</param> public static void Serialize( IBsonWriter bsonWriter, Type nominalType, object value, Action <BsonSerializationContext.Builder> configurator = null, BsonSerializationArgs args = default(BsonSerializationArgs)) { args.SetOrValidateNominalType(nominalType, "nominalType"); var serializer = LookupSerializer(nominalType); var context = BsonSerializationContext.CreateRoot(bsonWriter, configurator); serializer.Serialize(context, args, value); }