Я пытаюсь сериализовать основной класс в своем решении 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.Form» в сборке «System.Windows.Forms, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089» не помечен как сериализуемый.
Я предполагаю, что это потому, что вы не можете сериализовать форму, прикрепленную к классу или что-то в этом роде, но я действительно не знаю, что делаю.
Могу ли я каким-то образом сериализовать все объекты, содержащиеся в моем классе Form1, не получая этой ошибки? Я не хочу хранить какие-либо данные об элементах управления формы, мне просто нужно сохранить все объекты, которые я определил в верхней части класса Form1.
Спасибо за любую помощь.