/// <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); }
/// <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)); }