Я пытаюсь сериализовать основной класс в своем решении 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
.
Спасибо за любую помощь.