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
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5