Ciao.
La cosa più semplice da fare è quella di "Serializzare" la tua classe.
La serializzazione genera un file formato xml contenente tutta la stuttura e i valori della tua classe. Per fare ciò basta fare 3 passi:
1- dare l'attributo "serializabile" alla tua classe:
<Serializable()> _
Public Class Class1
....
....
....
End Class
2: scrivere il metodo pubblico di serializzazione all'interno della tua classe:
Public Sub Serialize(ByVal pathFile As String)
Try
Dim sr As New IO.StreamWriter(pathFile, False, System.Text.Encoding.UTF8)
Dim serializer As New Xml.Serialization.XmlSerializer(GetType(Class1))
serializer.Serialize(sr, Me)
sr.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
3: Scrivere la funzione statica di deserializzazione nella tua classe:
Public Shared Function deserialize(ByVal pathFile As String) As Class1
Try
Dim serializer As New Xml.Serialization.XmlSerializer(GetType(Class1))
Dim ret As Class1
Dim r As New IO.StreamReader(pathFile)
ret = DirectCast(serializer.Deserialize(r), Class1)
r.Close()
Return ret
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
End Try
End Function
Poi per usarla nel momento che devi salvare i valori basta che su un oggetto di tipo "MyClass" invochi il metodo .Serialize(pathfile) passandoci il percorso completo di dove salvare il file.
Per ricaricare i valori invece utilizzi il metodo statico Deserialize(pathFile)
Dim abc as MyClass = MyClass.Deserialize(pathFile)
In questo modo tutti gli oggetti interfacciati da property pubbliche vengono in automatico salvati (anche se un domani ne aggiungi altri non ti devi preoccupare di scrivere codice per salvarli)
Cristian Barca