| |
VB.NET - FortgeschritteneSerialisierungsproblem | | | Autor: chris7910 | Datum: 14.03.07 23:10 |
| Hallo, ich habe hier ein kleines Serialisierungsproblem.
Ich habe eine Klasse gebaut, welche von HashTable abgeleitet ist, sie sieht folgendermassen aus:
--------------------------------------------------
<Serializable()> Public Class mainconfig
Inherits Hashtable
Public currentconfig As String
Public splitter1pos As Integer
Public splitter2pos As Integer
end class
--------------------------------------------------
Wie ihr seht, nichts besonderes, in die hashtable kommen ebenfalls objekte einer eigens definierten Klasse namens singleconfig:
die klasse mainconfig hat halt zusätzlich noch 3 öffentliche variablen (die mir aber wichtig sind!)
---------------------------------------------------
<Serializable()> Public Class singleconfig
Public rptPath As String
Public databasePath As String
Public isAccessDatabase As Boolean
Public databaseLogin As String
Public databasePass As String
Public dbServer As String
Public connectionString As String
Public DbIdField As String
Public DbTimeField As String
End Class
---------------------------------------------------
wenn ich nun eine Instanz von mainconfig erzeuge, ein paar objekte vom typ singleconfig heineinwerfe und den 3 variablen Werte zuweise
möchte ich diese Instanz nun serialisieren. Ich mache das folgendermassen (serialisieren funzt auch!)
' Serialisiert ein Objekt in eine Binärdatei
--------------------------------------------------------------------------
Dim FS As New System.IO.FileStream(filename, IO.FileMode.Create)
Dim BinFormatter As New BinaryFormatter
BinFormatter.Serialize(FS, myobject)
FS.Close()
End Sub
--------------------------------------------------------------------------
FUNKTIONIERT AUCH ABER: Wenn ich es deserialisieren will und wieder in den Typ mainconfig casten will wirfts mir eine Exception:
' Deserialisiert ein Objekt aus einer Binärdatei
-----------------------------------------------------------------------------------------------
Dim FS As System.IO.FileStream = New System.IO.FileStream(filename, IO.FileMode.Open)
Dim obj As Object
Dim BinFormatter As New BinaryFormatter
Do
obj = BinFormatter.Deserialize(FS) 'An dieser Stelle wirts mir die Exception!
Loop While FS.Position < FS.Length - 1
FS.Close()
Return obj
--------------------------------------------------------------------------------------------------
Die Fehlermeldung der Exception sieht folgendermassen aus:
"Der für die Deserialisierung eines Objekts mit dem Typ objecttest.mainconfig erforderliche Konstruktor wurde nicht gefunden."
So nun meine Frage, wie müsst ich meine Klasse(n) umbauen, damit ich auch deserialisieren kann?
Noch zu Info, wenn ich nur eine Instanz einer Hashtable erstelle und in dieser instanzen vom typ singleconfig
hineinwerfe, dann funktioniert auch deserialisieren, es muss also an der Klasse mainconfig liegen, hatte auch schon einen
Konstruktor definiert, der mir den 3 variablen werte zuweist, hat aber auch nix geholfen.
Bin für jede Hilfe dankbar.....
Chris | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|