Christophe Bertrand 16.04.2018, 12:07 Uhr

Universeller Serialisierer für .NET und .NET Core

Alles ohne Aufwand serialisieren, so lautet das Ziel der Open Source UniversalSerializer, die mit .NET und .NET Core zusammenarbeiet und jetzt in neuer Version vorliegt.
Das Ziel des UniversalSerializer, der jetzt in Version 3.18.3.14 zur Verfügung steht, ist es, alle Datentypen – auch sehr komplexe Typen – ohne Aufwand zu serialisieren. Der Entwickler muss dafür keine Interfaces schreiben und keine Attribute anfügen. Wird dieselbe Instanz einer Klasse mehrfach referenziert, so erkennt das der Serializer und serialisiert sie nur einmal. Zirkuläre Referenzen sind erlaubt, Typen ohne Default-Konstruktor sind erlaubt, sofern ein parametrischer Konstruktor gefunden werden kann. Bereits existierende Mechanismen zum Serialisieren oder Transcoding werden benutzt (derzeit: [Serializable], ISerializable, [ValueSerializer] und [TypeConverter]).
Auch Nicht-Generishe ICollection-Klassen können serialisiert werden, sofern eine Add- oder Insert-Methode gefunden werden kann. Und selbstverständlich serialisiert der UniversalSerializer alle ordinären Konstruktionen, wie Klassen, Strukturen, öffentliche Eigenschaften, öffentlichee Felder, Enumerationen, Collections, Dictionaries, Generics et cetera.
Gehört ein Typ nicht zu den out-of-the-box serialisierbaren Typen, dann bietet UniversalSerializer zwei Kategorien von Modifizierern: Container (ITypeContainers), damit die Typen dennoch serialisiert werden und Filtersätze, welche die Typen von ausschließen und dafür sorgen, dass ausgewählte Felder gespeichert werden.
UniversalSerializer ist in der Lage drei Stream-Formate zu serialisieren: custom binary, JSON und XML.
Alle weiteren Details zum Open-Source-Programm UniversalSerializer erfahren Sie in diesem Post von Entwickler Christophe Bertrand auf CodeProject. Darunter finden Sie auch Anwendungsbeispiele für das Serialisieren von Dateinamen, Streams, XML, JSON, WPF, Windows Forms sowie eine Dokumentation.
Die Homepage des Programms finden Sie unter http://universalserializer.com/.


Das könnte Sie auch interessieren