Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Serialisieren von Objekten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Serialisieren von Objekten (390 mal gelesen)
Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 07. Nov. 2008 13:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Alle,
heute habe ich mal eine sehr spezielle Frage. Ich habe in einem Projekt eine generische Klasse vom Typ List(of Type) verwendet, um Typensicherheit zu gewährleisten. Nun wollte ich diese Klasse mittels XMLSerializer speichern. Das funktioniert aber nicht, kann es sein, das der XMLSerializer nicht mit generischen Klassen kann?
Hat jemand schon Erfahrungen in dieser Richtung?

------------------
Grüße TStone
   "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 07. Nov. 2008 14:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tstone 10 Unities + Antwort hilfreich

Hallo Tstone,

also generische Klassen sind bei der Serialisierung kein Problem!
Wahrscheinlich ist in deiner Klasse etwas was der Serializer nicht mag, wie zum Beispiel Object Variablen, Arrays ...
Auch wichtig ist das deine Klasse min. einen Parameterlosen Konstruktor besitzt.

Serialisiert werden übrigens nur Eigenschaften die:

  • als Public deklariert werden
  • nicht ReadOnly sind

Aber eines ist sicher, an der generischen Klasse liegt es nicht!
Mehr zum Thema Serialisierung findest du auch hier.


------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks Api Snippets

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 13. Nov. 2008 12:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo tbd,
danke für deine Antwort. Bin aber leider noch keinen Schritt weiter.
Ich habe nochmals alle Punkte die du genannt hattest geprüft - ales in Ordnung.
Es werden ja auch alle Elemente innerhalb der Liste serialisiert aber ich habe der Klasse weitere Eigenschaften hinzugefügt und diese werden nicht mit serialisiert. Ich habe auch schon versucht die Serialisierung der Eigenschaften mittes Attributen zu erzwingen, leider auch ohne Erfolg. Ich weiß es ist schwierig mir ohne Kenntnisse meines Codes zu helfen.

------------------
Grüße TStone
   "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 13. Nov. 2008 12:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tstone 10 Unities + Antwort hilfreich

Hallo Tstone,

ja da hast du recht!

Sehe ich es richtig das dein Objekt fehlerfrei serialisiert wird, dir jedoch einige Eigenschaften fehlen?
Wenn ich das richtig verstanden habe kann das nur an den bereits genannten Punkten (ReadOnly oder nicht Public) liegen.

Bei mir funktioniert dies Problemlos, all meine Anwendungsoptionen und -einstellungen speichere ich so im XML Format ab.

Hier mal eine Beispiel-Eigenschaft, welche serialisiert wird:

Code:
Dim sNameCls As String

Public Property Name() As String
    <System.Diagnostics.DebuggerStepThrough()> _
    Get
        Return sNameCls
    End Get
    <System.Diagnostics.DebuggerStepThrough()> _
    Set(ByVal value As String)
        sNameCls = value
    End Set
End Property


Ich hoffe du findest deinen Fehler!

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks Api Snippets

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 14. Nov. 2008 12:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,
Danke nochmals für deine Hilfe, habe jetzt eine eigene Serialisierungsroutine geschrieben. Die ist zwar nicht so universel einsetzbar, aber funktioniert dafür gut.
Eine Frage habe ich aber noch:
Du hast in deinem Codeausschnitt Getter und Setter der Eigenschaft mit dem Attribut:
<System.Diagnostics.DebuggerStepThrough()>
versehen. Funktion ist klar, aber was sind die Gründe für diese Vorgehensweise.
Danke und
 

------------------
Grüße TStone
   "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 14. Nov. 2008 12:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tstone 10 Unities + Antwort hilfreich

Hallo TStone,

das Attribut <System.Diagnostics.DebuggerStepThrough()> ist für die Serialisierung nicht notwendig. Bei so einfachen Propertys wie z.B. Name, welche ja nur eine Variable zurück gibt, ist es beim Debuggen nur sehr nervig wenn man durch die Get bzw. Set Prozedur der Property Codezeile für Codezeile durchspringt.
Durch dieses Attribut wird die Eigenschaft als Prozedurschritt behandelt und man kann einfacher Debuggen.

Es ist aber natürlich jedem selbst überlassen ob man mit diesem Attribut arbeitet oder nicht.

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks Api Snippets

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz