Tipp 0194 Objekte erstellen und serialisieren
Autor/Einsender:
Datum:
  Michael Werner
08.09.2009
Entwicklungsumgebung:   VB.Net 2008
Framework:   2.0
Wenn Klassenobjekte serialisiert (gespeichert) werden sollen, muss die Klasse mit dem Attribut <Serializable()> versehen werden. Im Tipp wird eine Klasse Anschrift mit Name, Straße, Ort, Land und Telefon über den Namespace System.Runtime.Serialization.Formatters.Binary serialisiert und deserialisiert.
Im Load-Event des Formulars wird das gespeichertes Objekt deserialisiert (ausgelesen)  und im Ereignis FormClosing wird vor dem Schließen das Objekt erstellen und serialisiert (gespeichert). Die Serialisation erfolgt mit System.Runtime.Serialization.Formatters.Binary
Die Klasse SerialObjectBin
 
Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary

Namespace zaack

  Public Class SerialObjectBin

    Private sFileBIN As String = _
            Path.Combine(Application.UserAppDataPath, "bin.dat")

#Region "  Binäres Serialisieren eines Objektes in eine Datei "

      ''' <summary>
      ''' Objekt serialisieren (speichern)
      ''' </summary>
      ''' <param name="o"></param>
      ''' <remarks></remarks>
      Friend Sub SaveObject(ByVal o As Object)
         'Schreiben - Serialisierung
         'Objekt binär speichern mittels BinaryFormatter
        Try
          Dim converter As New BinaryFormatter
          Dim stream As New FileStream(sFileBIN, _
              FileMode.Create, FileAccess.Write, FileShare.Write)
          converter.Serialize(stream, o)
          stream.Close()

        Catch ex As Exception
          MessageBox.Show(ex.Message())
        End Try
      End Sub

      ''' <summary>
      ''' Objekt deserialisieren (auslesen)
      ''' </summary>
      ''' <returns></returns>
      ''' <remarks></remarks>
      Friend Function ReadObject() As Object
        'Lesen - DeSerialisierung
        'Binärdatei lesen in Ojekt mittels BinaryFormatter
        Dim o As Object

        If Not File.Exists(sFileBIN) Then
           Return Nothing
        End If
        Try
          Dim converter As New BinaryFormatter
          Dim stream As New FileStream(sFileBIN, FileMode.Open, _
              FileAccess.Read, FileShare.Read)

          o = converter.Deserialize(stream)
          stream.Close()
          Return o
        Catch ex As Exception
          MessageBox.Show(ex.Message())
          Return Nothing
        End Try
      End Function
#End Region
    End Class
End Namespace
 
Weitere Links zum Thema
Anwendungseinstellungen mit XML serialisieren
Collection serialisieren
Objekt kopieren und einfügen

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (21 kB) Downloads bisher: [ 248 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 22. Januar 2012