Exemplo n.º 1
0
        public object Deserialize(MongoDB.Bson.IO.BsonReader bsonReader, System.Type nominalType, IBsonSerializationOptions options)
        {
            bsonReader.ReadStartArray();

            var x = bsonReader.ReadDouble();
            var y = bsonReader.ReadDouble();

            bsonReader.ReadEndArray();

            return new Vector(x, y);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 데이터 타입에 따른 매핑 변화
        /// </summary>
        /// <param name="bsonReader">데이터 리더</param>
        /// <returns></returns>
        private string GetBsonString(ref MongoDB.Bson.IO.BsonReader bsonReader)
        {
            switch (bsonReader.CurrentBsonType)
            {
                case BsonType.Boolean: return bsonReader.ReadBoolean().ToString();
                //TODO 이 타입 반환값이 없음.
                //case BsonType.Binary:

                case BsonType.DateTime: return bsonReader.ReadDateTime().ToString();
                case BsonType.Double: return bsonReader.ReadDouble().ToString();
                case BsonType.Int32: return bsonReader.ReadInt32().ToString();
                case BsonType.Int64: return bsonReader.ReadInt64().ToString();
                //TODO 이 타입 반환값이 없음
                //case BsonType.ObjectId: return bsonReader.ReadObjectId()
                default: return bsonReader.ReadString();
            }
        }