public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { var bsonType = bsonReader.PeekBsonType(); BsonBinaryData value; if (bsonType == BsonType.Null) { bsonReader.ReadNull(propertyMap.ElementName); value = null; } else { byte[] bytes; BsonBinarySubType subType; bsonReader.ReadBinaryData(propertyMap.ElementName, out bytes, out subType); value = new BsonBinaryData(bytes, subType); } propertyMap.Setter(obj, value); }
public void DeserializeProperty( BsonReader bsonReader, object obj, BsonPropertyMap propertyMap ) { byte[] bytes; BsonBinarySubType subType; bsonReader.ReadBinaryData(propertyMap.ElementName, out bytes, out subType); if (bytes.Length != 16) { throw new FileFormatException("BinaryData length is not 16"); } if (subType != BsonBinarySubType.Uuid) { throw new FileFormatException("BinaryData sub type is not Uuid"); } var value = new Guid(bytes); propertyMap.Setter(obj, value); }