Torna al Thread
Public Shared Sub Serialize(Of T)(ByVal obj As T, ByVal fileName As String, ByVal xml As Boolean)
'Il serializzatore
Dim serializer As Object = Nothing
'Crea un XmlSerializer se è scelta la serializzazione xml
'altrimenti un BinaryFormatter
If (xml) Then
serializer = New XmlSerializer(GetType(T))
Else
serializer = New BinaryFormatter()
End If
'Crea lo stream per il file di output
Using outStream As New FileStream(fileName, FileMode.Create)
'Serializza l'oggetto (è possibile fare così perchè sia
'XmlSerializer che BinaryFormatter hanno un metodo Serialize
'che accetta come parametri uno Stream e un Object
serializer.Serialize(outStream, obj)
End Using
End Sub
Public Shared Function DeSerialize(Of T)(ByVal fileName As String, ByVal xml As Boolean) As T
'Il deserializzatore
Dim deSerializer As Object = Nothing
'Crea un XmlSerializer se è scelta la serializzazione xml
'altrimenti un BinaryFormatter
If (xml) Then
deSerializer = New XmlSerializer(GetType(T))
Else
deSerializer = New BinaryFormatter()
End If
'Crea lo stream per il file di input
Using inStream As New FileStream(fileName, FileMode.Open)
'Deserializza l'oggetto (è possibile fare così perchè sia
'XmlSerializer che BinaryFormatter hanno un metodo DeSerialize
'che accetta come parametri uno Stream e un Object
Return CType(deSerializer.DeSerialize(inStream), T)
End Using
End Function