+++为什么下面的类型不支持序列化?

sunchangzhan 2008-01-23 06:55:30
List<DataRow>/List<DataTable>/List<DataSet>/List<Exception>
...全文
215 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunchangzhan 2008-01-29
  • 打赏
  • 举报
回复
我是向内存中序列化以上讨论的对象,具体的如下。但是List <DataTable> /List <DataSet> /List <Exception> 这三种情况是不可以的,不知道为什么?
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, this);
stream.Position = 0;
object returnValue = (SerializableParameter)formatter.Deserialize(stream);
stream.Close();
fienol 2008-01-29
  • 打赏
  • 举报
回复
List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
如上,如果你想实现list<T>的序列化,首先必须使他的基类实现序列化,问题是他的基类是只读的,所以不用想去序列化了
AppFramework 2008-01-28
  • 打赏
  • 举报
回复
它们只是不能序列化为XML而已,可以用BinaryFormatter.Serialize (Stream, Object) 序列化任何类型。
sunchangzhan 2008-01-28
  • 打赏
  • 举报
回复
我知道DataTable,DataSet,Exception是可以序列化的。问题是他们的List范型(List <DataTable> /List <DataSet> /List <Exception> )是不可以的,不知道是为什么?
fienol 2008-01-28
  • 打赏
  • 举报
回复
很明显啊,如果一个类的基类没有实现序列化,那么这个类是不能实现序列化的,例如datatable就实现了接口ISerializable,而datarow没有
iyori 2008-01-28
  • 打赏
  • 举报
回复
DataTable 可以的,DataSet DataRow 不行
拉达曼迪斯II 2008-01-28
  • 打赏
  • 举报
回复
同意4楼。
任何东西都是可以序列化的。
只要他可逆就行。
微软灭有提供的,你可以自己做。他提供方法Interface.
tianke3477 2008-01-28
  • 打赏
  • 举报
回复
学习
sunchangzhan 2008-01-25
  • 打赏
  • 举报
回复
DataRow不论是在1.1还是2.0里都是不可以序列化的,但是可以把DataRow存储在DataTable进行序列化。但是List <DataTable> 就不能序列化了,搞不懂为什么,所以上来问问,看看有没有高手能给解决一下。
sunchangzhan 2008-01-25
  • 打赏
  • 举报
回复
这么做是可以,但是我现在的问题不是怎么做,我是想知道它为什么不能序列化,有个理由啊,像hashtable不能序列化是因为它里面存储的是什么值不清楚,还有就是它的散列因子没有办法重复,所以不能序列化。但是List<DataTable>为什么不能序列化就不清楚了。
yumanqing 2008-01-25
  • 打赏
  • 举报
回复
自己转换成BYTE[],任何对象均可序列化
jupiter911 2008-01-24
  • 打赏
  • 举报
回复
一个类被标识为[可序列化]之后,也不一定能够被序列化.如果这个类中含有不可被序列化的对象,那么它就不可被序列化.
一般来说使用XML序列化类可以强制性的解决这个问题.但是需要你的类提供一个public的无参数构造函数.
possible_Y 2008-01-24
  • 打赏
  • 举报
回复
.net 1.1里DataRow是不可被序列化的,但是.net 2.0里应该可以序列化了,其他的也应该都可以序列化哦

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧