Hallo,
ich hab auch mal wieder eine Frage, nämlich:
Ich habe folgende Klasse:
Diese ist einfach nur dazu da, in ein ListViewItem ein Objekt der Klasse Projekt zu speichern um besser darauf zugreifen zu können.
Da eine ListView nicht direkt serialisierbar ist, hab ich mir zum speichern folgendes überlegt:
Spoiler anzeigen
Das funktioniert auch wunderbar.
Will ich das ganze aber wieder laden:
Spoiler anzeigen
wird folgender Fehler ausgegeben:
"Der für die Deserialisierung eines Objekts mit dem Typ "Backupper.ListViewItemSpecial" erforderliche Konstruktor wurde nicht gefunden."
Was das jetzt bedeuten soll, weiß ich nicht. Als der Fehler das erste mal vorkam, hab ich den Konstruktor rausgenommen, ohne irgendeine Wirkung.
Mfg,
Kilian
ich hab auch mal wieder eine Frage, nämlich:
Ich habe folgende Klasse:
Diese ist einfach nur dazu da, in ein ListViewItem ein Objekt der Klasse Projekt zu speichern um besser darauf zugreifen zu können.
Da eine ListView nicht direkt serialisierbar ist, hab ich mir zum speichern folgendes überlegt:
VB.NET-Quellcode
- Function saveEverything() As Boolean
- Try
- Dim obj As New List(Of ListViewItemSpecial)
- For Each item As ListViewItemSpecial In ListView1.Items
- obj.Add(item)
- Next
- Dim bf As New BinaryFormatter
- bf.Serialize(New FileStream(FilePath, FileMode.Create), obj)
- Return True
- Catch ex As Exception
- Return False
- End Try
- End Function
Will ich das ganze aber wieder laden:
VB.NET-Quellcode
- Function loadEverything() As Boolean
- If Not IO.File.Exists(FilePath) Then
- Return False
- End If
- Try
- Dim obj As New List(Of ListViewItemSpecial)
- Dim bf As New BinaryFormatter
- obj = CType(bf.Deserialize(New FileStream(FilePath, FileMode.Open)), List(Of ListViewItemSpecial))
- For Each item In obj
- ListView1.Items.Add(item)
- Next
- Return True
- Catch ex As Exception
- MsgBox(ErrorToString)
- Return False
- End Try
- End Function
"Der für die Deserialisierung eines Objekts mit dem Typ "Backupper.ListViewItemSpecial" erforderliche Konstruktor wurde nicht gefunden."
Was das jetzt bedeuten soll, weiß ich nicht. Als der Fehler das erste mal vorkam, hab ich den Konstruktor rausgenommen, ohne irgendeine Wirkung.
Mfg,
Kilian