/// <summary> /// 將可序列化對象轉成Byte數組 /// </summary> /// <param name="obj">對象(對象不能為空)</param> /// <returns>返回相關數組</returns> protected static byte[] ObjectToByteArray<T>(T obj) where T : ISerializable { if (obj == null) { byte[] byteArr = new byte[] { }; return byteArr; } else { MemoryStream ms = new MemoryStream(); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(ms, obj); ms.Close(); return ms.ToArray(); } } /// <summary> /// 將可序列化對象轉成的byte數組還原為對象 /// </summary> /// <param name="byteArry">byte數組</param> /// <returns>相關對象</returns> protected static T ByteArrayToObject<T>(byte[] byteArry) where T : ISerializable { if (byteArry != null && byteArry.Length > 0) { MemoryStream ms = new MemoryStream(byteArry); BinaryFormatter bf = new BinaryFormatter(); return (T)bf.Deserialize(ms); } else { return default(T); } }