我正在尝试序列化我的 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
当我调用此方法时,出现错误:
在程序集“System.Windows.Forms,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”中键入“System.Windows.Forms.Form”未标记为可序列化。
我猜这是因为您无法序列化附加到类或其他东西的表单,但我真的不知道我在做什么。
我可以以某种方式序列化我的 Form1 类中包含的所有对象,而不会出现此错误吗?我不想存储有关表单控件的任何数据,我只需要保存我在Form1
类顶部定义的所有对象。
谢谢你的帮助。