public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (double) propertyMap.Getter(obj); bsonWriter.WriteDouble(propertyMap.ElementName, value); }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (BsonDouble) propertyMap.Getter(obj); if (value == null) { bsonWriter.WriteNull(propertyMap.ElementName); } else { bsonWriter.WriteDouble(propertyMap.ElementName, value.Value); } }
public void SerializeProperty( BsonWriter bsonWriter, object obj, BsonPropertyMap propertyMap ) { var value = (float) propertyMap.Getter(obj); var doubleValue = value == float.MinValue ? double.MinValue : value == float.MaxValue ? double.MaxValue : value; if (propertyMap.UseCompactRepresentation) { bsonWriter.WriteDouble(propertyMap.ElementName, doubleValue); } else { bsonWriter.WriteDocumentName(propertyMap.ElementName); bsonWriter.WriteStartDocument(); bsonWriter.WriteString("_t", typeof(float).FullName); bsonWriter.WriteDouble("v", doubleValue); bsonWriter.WriteEndDocument(); } }