#region 序列化
/// <summary>
/// 序列化对象
/// </summary>
/// <typeparam name="T">使用的类</typeparam>
/// <param name="objToXml">对应类的对象</param>
/// <returns></returns>
private static string Serializer<T>(T objToXml)
{
///泛型中的T,动态设定参数的类型
StringWriter sw = new StringWriter();
XmlSerializer xml = new XmlSerializer(objToXml.GetType());
xml.Serialize(sw, objToXml);
return sw.ToString();
}
private static T DeSerializer<T>(string strXml)
{
///T,动态参数类型
//if (strXml == string.Empty) { return ; }
StringReader sr = new StringReader(strXml);
XmlSerializer xml = new XmlSerializer(typeof(T));
return (T)xml.Deserialize(sr);
}
#region Binary Serializers
public static MemoryStream SerializeBinary(object request) //将对象流转换成二进制流
{
BinaryFormatter serializer = new BinaryFormatter();
MemoryStream memStream = new MemoryStream(); //创建一个内存流存储区
serializer.Serialize(memStream, request);//将对象序列化为内存流中
return memStream;
}
public static object DeSerializeBinary(MemoryStream memStream) //将二进制流转换成对象
{
memStream.Position = 0;
BinaryFormatter deserializer = new BinaryFormatter();
object newobj = deserializer.Deserialize(memStream);//将内存流反序列化为对象
memStream.Close(); //关闭内存流,并释放
return newobj;
}
#endregion