Ich möchte ein POCO [Serializable], aber keine anderen Klassenmitglieder in seiner Klassenhierarchie Baum machen. Ich weiß, dass [NonSerialized] nur für Felder funktioniert, aber gibt es eine Möglichkeit, sie auszuschließen oder bestimmte Mitglieder mit [Serializable] auf dem POCO zu wählen?Serialisierung von POCO ohne Klassenmitglieder
Antwort
Sie sollten sich die DataContractSerializer
ansehen; Es verwendet einen "Opt-In" -Ansatz für die Serialisierung.
Auch wäre es eine gute Idee sein XmlSerializer vs DataContractSerializer: Serialization in Wcf auf Beispiele und ein Vergleich zwischen DataContractSerializer
und XmlSerializer
zu lesen.
Die XmlSerializer 1.0 in .Net seit Version gewesen und hat uns bedient gut für alles von Remoting Web Services in eine Datei Serialisierung usw. jedoch in .NET 3.0 die DataContractSerializer kam . Und plötzlich schlägt eine Menge Anleitung vor, dass wir es über den alten bewährten XmlSerializer verwenden sollten. Wcf verwendet dies sogar als Standard Mechanismus für die Serialisierung. Die Frage ist: "Ist es wirklich besser?". Das Urteil ist ja, und nein. Wie die meisten Dinge hängt es von Ihrer Implementierung und was Sie brauchen. Für Wcf sollten Sie lieber den DataContractSerializer verwenden. Wenn Sie volle Kontrolle darüber haben, wie die XML aussieht, sollten Sie zurück zum XmlSerializer gehen.
- 1. Serialisierung ohne XmlInclude
- 2. WCF - Rückgabeobjekt ohne Serialisierung?
- 3. Serialisierung OHNE xmlns
- 4. Serialisierung in C# ohne Dateisystem
- 5. Erklärung von POCO
- 6. Statische Klassenmitglieder python
- 7. PHP Klassenmitglieder und Methoden
- 8. Java - Verhalten der Klassenmitglieder von generischer Klasse
- 9. Generische Klassenmitglieder in C#?
- 10. Mehrdeutige Klassenmitglieder in vb.net
- 11. Serialisierung von Objekten
- 12. Klassenmitglieder - Java vs. Python
- 13. Verwirrt, wie Klassenmitglieder
- 14. Benutzerdefinierte Attribute für Klassenmitglieder
- 15. Benutzerdefinierte Serialisierung von Basisklasseneigenschaften
- 16. Benutzerdefinierte Serialisierung von C# poco's für DocumentDb
- 17. C++: Ändern der Klassenmitglieder Werte von Funktionen
- 18. Speichert Klassenmitglieder Speicher?
- 19. Verschlüsse als Klassenmitglieder?
- 20. 'POCO' Definition
- 21. Binäre Serialisierung und Deserialisierung ohne Erstellen von Dateien (über Zeichenfolgen)
- 22. Wie funktioniert die Java-Serialisierung ohne Reflection?
- 23. Ruby-Objekte und JSON-Serialisierung (ohne Rails)
- 24. senden struct über UDP ohne Serialisierung
- 25. Deep Kopieren einer .NET-Klasseninstanz ohne Serialisierung
- 26. XML-Serialisierung und Schema ohne xsd.exe
- 27. Typelite POCO Class Generation
- 28. Anbringen Einheit Object ohne kontrollierte Unternehmen mit EF4 POCO
- 29. EF4 POCO WCF Serialisierung Probleme (keine Lazy Loading, Proxy/kein Proxy, Zirkelverweise, etc.)
- 30. Entity-Framework POCO
Gute Antwort (ich habe meine gelöscht) - nur um hinzuzufügen (für das OP): Wenn Sie enge binäre Serialisierung wollen, könnten Sie protobuf-net in Betracht ziehen. –
@Marc - Protobuf-Net ist auch eine gute Wahl und eine eigene Antwort wert. Wenn Sie Ihre Antwort wiederherstellen, werde ich sie aktualisieren. –