Example #1
0
        /// <summary>
        /// Deserialize a blob into a type. Does not JIT
        /// </summary>
        /// <param name="reader">Blob reader</param>
        /// <param name="type">Target type</param>
        /// <returns>Type model</returns>
        public static object DeserializeSlow(BlobReader reader, Type type)
        {
            TypeSerializer serializer = new TypeSerializer(type);

            using (reader)
            {
                return serializer.Read(null, reader);
            }
        }
Example #2
0
        /// <summary>
        /// Deserialize a blob into a type
        /// </summary>
        /// <param name="reader">Blob reader</param>
        /// <param name="type">Target type</param>
        /// <returns>Type model</returns>
        public static object Deserialize(BlobReader reader, Type type)
        {
            TypeSerializer serializer = new TypeSerializer(type);
            JITContext.BlobDeserializer deserialize = JITContext.BuildDeserializer(serializer);

            using (reader)
            {
                return deserialize(reader, JITContext.ByteKeys.ToArray());
            }
        }