Hallo Leute,
in meinem derzeitigen Projekt habe ich in einem Vektorraum eine Liste an komplexen Zahlen. Ich möchte also die Klasse "[Object]", welche eine "List(Of VectorSpace)" besitzt, welche wiederum die Eigenschaft "List(Of Complex)" besitzt, abspeichern. Zum Serialisieren verwende ich normal immer diese Funktionen:
Funktioniert soweit auch, nur, dass wenn ich die Datei wieder einlese alle Vektorräume leer sind. Wenn ich die Datei nach dem serialisieren öffne, sieht sie so aus:
Spoiler anzeigen
Wie man sieht sind alle komplexen Zahlen leer. Die Klasse Complex ist nicht von mir sondern von System.Numerics. Weiß jemand, was ich falsch mache? Sollte ich lieber eine eigene Complex-Klasse machen?
mfG Frank
in meinem derzeitigen Projekt habe ich in einem Vektorraum eine Liste an komplexen Zahlen. Ich möchte also die Klasse "[Object]", welche eine "List(Of VectorSpace)" besitzt, welche wiederum die Eigenschaft "List(Of Complex)" besitzt, abspeichern. Zum Serialisieren verwende ich normal immer diese Funktionen:
VB.NET-Quellcode
-
- Public Shared Sub WriteObjects(ByVal path As String, ByVal obj As List(Of [Object]))
- Using objStreamWriter As New StreamWriter(path)
- Dim x As New XmlSerializer(obj.GetType)
- x.Serialize(objStreamWriter, obj)
- End Using
- End Sub
- Public Shared Function ReadObjects(ByVal path As String) As List(Of [Object])
- Dim obj As New List(Of [Object])
- Using objStreamReader As New StreamReader(path)
- Dim x As New XmlSerializer(obj.GetType)
- obj = CType(x.Deserialize(objStreamReader), List(Of [Object]))
- End Using
- Return obj
- End Function
Funktioniert soweit auch, nur, dass wenn ich die Datei wieder einlese alle Vektorräume leer sind. Wenn ich die Datei nach dem serialisieren öffne, sieht sie so aus:
VB.NET-Quellcode
-
- <?xml version="1.0" encoding="utf-8"?>
- <ArrayOfObject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <Object>
- <VectorSpace>
- <Vectors>
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- </Vectors>
- </VectorSpace>
- <Name>H</Name>
- </Object>
- <Object>
- <VectorSpace>
- <Vectors>
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- </Vectors>
- </VectorSpace>
- <Name>A</Name>
- </Object>
- <Object>
- <VectorSpace>
- <Vectors>
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- </Vectors>
- </VectorSpace>
- <Name>L</Name>
- </Object>
- <Object>
- <VectorSpace>
- <Vectors>
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- </Vectors>
- </VectorSpace>
- <Name>L</Name>
- </Object>
- <Object>
- <VectorSpace>
- <Vectors>
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- <Complex />
- </Vectors>
- </VectorSpace>
- <Name>O</Name>
- </Object>
- </ArrayOfObject>
Wie man sieht sind alle komplexen Zahlen leer. Die Klasse Complex ist nicht von mir sondern von System.Numerics. Weiß jemand, was ich falsch mache? Sollte ich lieber eine eigene Complex-Klasse machen?
mfG Frank