请问C#中字体对象如何使用序列化保存,解决就解贴,
请问C#中字体对象如何使用序列化保存 问题点数:100、回复次数:4Top
1 楼liulxmooo(娃娃)回复于 2005-01-18 16:00:47 得分 0
upTop
2 楼ys_like(ys)回复于 2005-01-19 16:45:20 得分 0
没有人知道吗?Top
3 楼FJGoodGood(_FJ_强中强)回复于 2005-01-19 16:51:30 得分 100
下面代码应该可以解决问题:
/// <summary>
/// 序列化为二进制字节数组
/// </summary>
/// <param name="request">要序列化的对象</param>
/// <returns>字节数组</returns>
public static byte[] SerializeBinary(object request)
{
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer =
new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
serializer.Serialize(memStream, request);
return memStream.GetBuffer();
}
/// <summary>
/// 从二进制数组反序列化得到对象
/// </summary>
/// <param name="buf">字节数组</param>
/// <returns>得到的对象</returns>
public static object DeserializeBinary(byte[] buf)
{
System.IO.MemoryStream memStream = new MemoryStream(buf);
memStream.Position=0;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter deserializer =
new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
object newobj = deserializer.Deserialize(memStream);
memStream.Close();
return newobj;
}
private void button3_Click(object sender, System.EventArgs e)
{
Font font = new Font("宋体", 16f);
//序列化
byte[] data = Utility.SerializationUtil.SerializeBinary(font);
//重新取回数据
Font font1 = (Font)Utility.SerializationUtil.DeserializeBinary(data);
MessageBox.Show(font1.FontFamily.ToString());
}
Top
4 楼mooddecode1980(心情解码)回复于 2005-01-19 17:03:29 得分 0
帮
upTop




