c#反序列化失败
答案:2 悬赏:30 手机版
解决时间 2021-03-05 09:12
- 提问者网友:ミ烙印ゝ
- 2021-03-04 14:19
如题,在一个程序中使用序列化跟反序列化一个类能成功, 但是同一个类 用这个程序序列化 用另外一个程序反序列化则不会成功, 我纠结的使用了DLL, 将这个类生成一个dll文件,然后两个程序都引用此时才能成功,这是为什么, 为什么用DLL可以 直接写在程序里面不行
最佳答案
- 五星知识达人网友:纵马山川剑自提
- 2021-03-04 14:39
把那个类,放在一个单独的项目中,然后在其它程序中添加引用这个项目,再做序列化和反序列化。
全部回答
- 1楼网友:duile
- 2021-03-04 15:01
c# 序列化与反序列化有两种:
一种是:xml
一种就是你说的二进制:
using system.runtime.serialization.formatters.binary;
using system.xml.serialization;
要引用两个命名空间。
///
/// 序列化一个对象
///
/// 文件路径
/// 被序列化的对象
public void serialize(string filepath, object obj)
{
filestream filestream = new filestream(filepath, filemode.create);
binaryformatter b = new binaryformatter();
b.serialize(filestream, obj);
filestream.close();
filestream.dispose();
}
///
/// 反序列化一个对象
///
/// 文件路径
///
public object unserialize(string filepath)
{
filestream filestream = new filestream(filepath, filemode.open, fileaccess.read, fileshare.read);
binaryformatter b = new binaryformatter();//soapformatter
object o = b.deserialize(filestream);
filestream.close();
filestream.dispose();
return o;
}
可以写得更好点,专门写一个类,我已经写好了。这里发不下。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯