Exemple #1
0
        /// <summary>
        /// 使用指定长度从流中取回二进制形式序列化的对象. 没有解析成功, 会抛出异常.
        /// </summary>
        /// <typeparam name="T">取回对象的类型</typeparam>
        /// <param name="reader"></param>
        /// <param name="length">指定取回的对象大小.</param>
        /// <returns>返回解析到的对象.</returns>
        public static T RetrieveBinaryObject <T>(this BinaryReader reader, int length)
        {
            length.ShouldLargerThan(0);
            DebugHelper.WriteLine(string.Format("Try reading object (length: {0})...", length));
            byte[] objBytes = reader.ReadBytes(length);
            var    result   = BinarySerializationHelper.Deserialize <T>(objBytes);

            DebugHelper.WriteLine("Object retrieved.");
            return(result);
        }
Exemple #2
0
 /// <summary>
 /// 从fileinfo代表的文件中进行二进制反序列化
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="fileInfo"></param>
 /// <returns>反序列化后的对象</returns>
 public static T DeserializeBinaryObject <T>(this FileInfo fileInfo)
 {
     return(BinarySerializationHelper.Deserialize <T>(fileInfo.FullName));
 }