none
Serialisierung und Vererbung RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    ich habe ein Problem mit der Serialisierung einer Klasse, die von einer abstrakten Klasse ableitet. Wenn ich versuche die nachfolgende Klasse zu serialisieren, erzeugt er mir eine Ausnahmen ("Das Objekt des Typs 'WindowsApplication2.Foo' kann nicht serialisiert werden. Ändern Sie den Typ des XmlText-Elements 'WindowsApplication2.Foo.Value' von System.Double in eine Zeichenfolge oder ein Zeichenfolgenarray.")

    Unabhängig davon, ob ein XmlText Sinn macht oder schön ist, funktioniert er problemlos wenn ich nicht von der abstrakten Klasse erbe, sondern deren Code in die Foo Klasse schreibe.

    Ich habe auch schon die Hilfe durchforstet, finde aber nur die Aussage, dass XmlText einmal pro Klasse und bei primitiven Datentypen funktioniert (sollte). Ich bin mit meinem Latein am Ende und die Exception, dass nur String oder CharArrays als XML Text serialisiert werden können, passt irgendwie auch nicht.

    (Verhalten mit C# ist identisch)

    Public Class Foo
        Inherits absFoo

        Private _val As Int32

        <XmlText()> _
     Public Property Value() As Int32
            Get
                Return _val
            End Get
            Set(ByVal value As Int32)
                _val = value
            End Set
        End Property
    End Class


    Public MustInherit Class absFoo

    End Class

     

    Gruss,

    Pascal

    Mittwoch, 21. September 2011 13:55

Alle Antworten

  • Also verstehe ich das richtig?

    Wenn du genau die Klasse nimmst und das Inherits absFoo weglässt und die Property Value () in der Klasse einen Wert zuweisst funktioniert die Serialisierung?

    Hast du denn schonmal getestet ob der das mit einem String macht bzw. ist der Int notwendig?

    Freitag, 30. September 2011 07:50
  • ****************************************************************************************************************
    Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
    Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
    ****************************************************************************************************************
    Montag, 3. Oktober 2011 08:12
    Moderator