ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

VB.net的序列化与反序列化

2021-03-04 18:00:48  阅读:310  来源: 互联网

标签:Dim VB Int16 fStream dat New net 序列化


废话
最近需要做一个功能就是保存一个类
这个类里面放了巨量的变量,为了保存它我想了很多办法,主要两个
1.序列化与反序列化
2.用反射来遍历整个类保存到txt中
反射是我最想用的办法,因为没用过,但是看了很多都没有看明白。只好用了序列化

正文
主要流程就是利用Formatter对象的Serialize方法来将Filestream序列化

类的序列化

<Serializable>//这个东西一定要加,他决定能不能序列化
Public Class Class1
    Public a As Int16 = 1
    Dim b As Int16 = 2
    Dim c As Int16 = 3
End Class

        Dim matter As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
        Dim fStream As New FileStream(“Save.dat”, FileMode.Create)
        CLDs.a = 4 //这里将公开变量改一下做个实验
        matter.Serialize(fStream, CLDs)
        fStream.Close()

将序列化后的类再反序列化赋给一个类

     Dim fStream As New FileStream(“Save.dat”, FileMode.Open)
        Dim sfFormatter As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
        Clds2 = sfFormatter.Deserialize(fStream)
        fStream.Close()
        MsgBox(Clds2.a, 1, "成功!")

在序列化时会有一个.dat文件在bin文件夹下产生,必须要对它进行读取才能反序列化,

标签:Dim,VB,Int16,fStream,dat,New,net,序列化
来源: https://blog.csdn.net/qq_41977299/article/details/114374048

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有