public WriteRawBsonArray ( IByteBuffer slice ) : void | ||
slice | IByteBuffer | The byte buffer containing the raw BSON array. |
리턴 | 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 rawBsonArray = (RawBsonArray)value; var slice = rawBsonArray.Slice; using (var clonedSlice = slice.GetSlice(0, slice.Length)) { bsonWriter.WriteRawBsonArray(clonedSlice); } } }
/// <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 lazyBsonArray = (LazyBsonArray)value; var slice = lazyBsonArray.Slice; if (slice == null) { BsonArraySerializer.Instance.Serialize(bsonWriter, typeof(BsonArray), lazyBsonArray, options); } else { using (var clonedSlice = slice.GetSlice(0, slice.Length)) { bsonWriter.WriteRawBsonArray(clonedSlice); } } } }