I am trying to save a list of objects to file but getting an exception thrown in the process. This is my object class:
<Serializable()>
Public Class FavoritesObject
Private Dset As DataSet
Private Name As String
Private BSource1 As BindingSource
Private Bsource2 As BindingSource
Public Sub New()
' Leave fields empty.
End Sub
Public Sub New(ByVal datset As DataSet, ByVal thename As String, ByVal binsource1 As BindingSource, ByVal binsource2 As BindingSource)
Dset = datset
Name = thename
BSource1 = binsource1
binsource2 = binsource2
End Sub
Public Property Dataset1 As DataSet
Get
Return Dset
End Get
Set(ByVal value As DataSet)
Dset = value
End Set
End Property
Public Property FavoriteName As String
Get
Return Name
End Get
Set(ByVal value As String)
Name = value
End Set
End Property
Public Property BindingSource1 As BindingSource
Get
Return BSource1
End Get
Set(ByVal value As BindingSource)
BSource1 = value
End Set
End Property
Public Property BindingSource2 As BindingSource
Get
Return Bsource2
End Get
Set(ByVal value As BindingSource)
Bsource2 = value
End Set
End Property
End Class
Here are my functions for serialization and deserialization:
Public Sub WriteToBinaryFile(serializationFile As String, List As List(Of FavoritesObject))
Using stream As Stream = File.Open(serializationFile, FileMode.Create)
Dim bformatter = New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
bformatter.Serialize(stream, List)
End Using
End Sub
Public Function ReadFromBinaryFile(serializationFile As String)
Using stream As Stream = File.Open(serializationFile, FileMode.Open)
Dim bformatter = New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
Dim favorites As List(Of FavoritesObject) = DirectCast(bformatter.Deserialize(stream), List(Of FavoritesObject))
Return favorites
End Using
End Function
When I try to serialize my list of objects I get the following exception thrown:
An unhandled exception of type 'System.Runtime.Serialization.SerializationException' occurred in mscorlib.dll Additional information: Type 'System.Windows.Forms.BindingSource' in Assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.
I am really unfamiliar with serialization and am trying to learn it. Can someone please shed some light on what my issue may be and a possible fix?