public WriteRawBsonDocument ( IByteBuffer slice ) : void | ||
slice | IByteBuffer | The byte buffer containing the raw BSON document. |
Результат | void |
public virtual void WriteRawBsonDocument(IByteBuffer slice)
{
// overridden in BsonBinaryWriter
using (var bsonReader = new BsonBinaryReader(new BsonBuffer(slice, false), true, BsonBinaryReaderSettings.Defaults))
{
var document = BsonSerializer.Deserialize<BsonDocument>(bsonReader);
BsonDocumentSerializer.Instance.Serialize(this, typeof(BsonDocument), document, null);
}
}
BsonWriter::WriteRawBsonDocument ( string name, IByteBuffer slice ) : void |
/// <summary> /// Serializes an object to a BsonWriter. /// </summary> /// <param name="bsonWriter">The BsonWriter.</param> /// <param name="nominalType">The nominal type.</param> /// <param name="value">The object.</param> /// <param name="options">The serialization options.</param> public override void Serialize( BsonWriter bsonWriter, Type nominalType, object value, IBsonSerializationOptions options) { if (value == null) { bsonWriter.WriteNull(); } else { var rawBsonDocument = (RawBsonDocument)value; var slice = rawBsonDocument.Slice; using (var clonedSlice = slice.GetSlice(0, slice.Length)) { bsonWriter.WriteRawBsonDocument(clonedSlice); } } }