VB.NET序列化错误
我正在尝试在VB解决方案中序列化主类。我在我的类顶部添加了Serializable属性,如下所示:
<Serializable()>
Public Class Form1
我正在使用以下代码来序列化:
Public Sub serializeThis()
Dim fStream As FileStream
Try
fStream = New FileStream("C:ObjectData.bin", FileMode.Create)
Dim bfmtr As New BinaryFormatter
bfmtr.Serialize(fStream, Me)
fStream.Close()
Catch ex As Exception
MsgBox("Failed to serialize: " & ex.Message)
Throw
End Try
End Sub
当我调用此方法时,我收到错误:
在Assembly'System.Windows.Forms中输入'System.Windows.Forms.Form',
Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'
未标记为可序列化。
我猜这是因为你不能序列化附加到类或其他东西的表单,但我真的不知道我在做什么。
我可以以某种方式序列化我的Form1类中包含的所有对象,而不会出现此错误吗?我不想存储有关表单控件的任何数据,我只需要保存我在Form1
类顶部定义的所有对象。
谢谢你的帮助。
没有找到相关结果
已邀请:
1 个回复
购藏盗码韦
不可序列化,因此无法序列化表单本身。 (表格不附在你的
课程上。你的
课程是表格,因为它来自
。) 但是,您可以执行的操作是仅序列化要序列化的对象:
有两点需要注意: 要序列化的所有对象的类(object1,object2,...)必须标记为
。您可以在文档中进行检查(示例:Hashtable标记为可序列化)。 请确保以相同的顺序反序列化对象。