Properties zu C# Klassen!

Alles über meine neue Library

Gepostet von Daniel Balk am 12. April 2022 Lesezeit: 2min

Zuletzt schrieb ich meinen eigenen Serializer für das Properties-Format.

Grundaufbau von Properties

 # Kommentare beginnen mit einer Raute
 Schlüssel=Wert

Mein Serializer

Das Nuget-Paket gibt es unter https://www.nuget.org/packages/Dalk.PropertiesSerializer/

Mehr Infos zur Verwendung der Bibliothek gibt es unter https://github.com/Dalk-GitHub/Dalk.PropertiesSerializer

Source ist hier verfügbar.

properties2csharp

Das Tool ist unter properties2csharp.dalkyt.de erreichbar.

Im dunkelblauen Textfeld auf der linken Seite gibt man die Daten ein.

Im weißen Textfeld auf der rechten Seite wird der generierte Code angezeigt. Dieser Code wird nur beim Verlassen des Textfeldes nach Änderungen oder beim ändern der Einstellungen neu generiert. Wenn man auf den Button mit dem Text „Copy Code“ klickt, wird der Generierte Code in die Zwischenablage kopiert.

Source ist hier verfügbar.

Das Tool gibt es auch ohne Webseite als Klassenbibliothek. Source: https://github.com/Dalk-GitHub/Dalk.PropertiesSerializer/tree/master/properties2csharp

App

Zur Webseite gibt es auch eine App. Die App lässt sich hier herunterladen.

Source ist hier verfügbar.

Verwendung

1. Klassen importieren

using Dalk.PropertiesSerializer;

2. Klasse für Daten erstellen

Nutze dafür properties2csharp.dalkyt.de oder erstelle selbst eine Klasse nach gleichem Schema.

3.1. Deserialisieren

var @object = Serializer.Deserialize(properties);

3.2. Serialisieren

string properties = Serializer.Serialize(@object);

4. Erstellen eigener Typserializer

using System;
using Dalk.PropertiesSerializer.TypeSerializers;

[TypeSerializer]
public class EigenerTypSerializer : ITypeSerializer
{
    public object Deserialize(string o) => EigenerTyp.Parse(o);

    Type type = typeof(EigenerTyp);
    public Type GetCType() => type;

    public string Serialize(object o) => o.ToString();
}

4.1. Registrierung aller Typserializer einer Assembly

Serializer.LoadTypeSerializersFromAssembly(Assembly.GetAssembly(GetType()));

4.2. Registrierung eines spezifischen Typserializers

Serializer.AddCustomTypeSerializer(new EigenerTypSerializer());

Von Daniel Balk

Ich entwickle in meiner Freizeit größtenteils Software, unter anderem auch diese Seite, für mich selbst oder auch für Endelon Hosting, einem Hoster, der es sich zum Ziel gesetzt hat, seine Kunden mit kostenlosen Gameservern bei ihren Projekten zu unterstützen, bei dem ich mich auch aktiv im Kundensupport beteilige.


Kommentare