怎样序列化

来源:百度知道 编辑:UC知道 时间:2024/06/07 10:07:48
异常详细信息: System.NotSupportedException: 无法序列化 System.Collections.Hashtable 类型的成员 BookShop.Entity.OrderEntity.Goods,因为它实现 IDictionary。
该代码无法实现XmlSerializer serializer = new XmlSerializer(ToBeSerialized.GetType());

.NET Framework 类库
SerializableAttribute 成员
指示一个类可以序列化。无法继承此类。

将 SerializableAttribute 属性应用于一个类型可指示该类型的实例可以序列化。如果正在序列化的对象图中的任何类型未应用 SerializableAttribute 属性,公共语言运行库则会引发 SerializationException。

即使该类也会实现 ISerializable 接口来控制序列化进程,仍要应用 SerializableAttribute 属性。

默认情况下,类型中由 SerializableAttribute 标记的所有公共和私有字段都会进行序列化,除非该类型实现 ISerializable 接口来重写序列化进程。默认的序列化进程会排除用 NonSerializedAttribute 属性标记的字段。如果可序列化类型的字段包含指针、句柄或其他某些针对于特定环境的数据结构,并且不能在不同的环境中以有意义的方式重建,则最好将 NonSerializedAttribute 属性应用于该字段。