数据持久化与.NET泛型知识详解
1. 数据序列化
数据序列化是将对象转换为可传输或存储的格式,反序列化则是将其还原为对象。在实现 System.Runtime.Serialization.ISerializable 接口时, BinaryFormatter 在序列化或反序列化 MyObject 时,会将二进制流的操作委托给 MyObject 。
序列化有写入和读取两个方向,开发者需以相同方式实现。例如,使用 AddValue() 方法将数据成员作为字符串写入,读取时也需按字符串读取。
不过,不同的序列化平台有各自的实现方式,通用的序列化方法往往行不通。因此,应尽量避免自定义序列化,让平台自行处理数据成员。
1.1 声明非序列化数据成员
有时,某些数据成员不适合序列化,如网络连接。因为网络连接是临时的,序列化后再反序列化可能无意义。可使用属性标记数据成员为非序列化,示例代码如下:
<Serializable()>
Class MyObject2
<NonSerialized()>
Private _networkIdentifier As Integer
End Class
在上述代码中, _networkIdentifier 不会从数据流中读写。
1.2 分离数据对象和操作对象
另
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



