Ich bastele mir gerade eine WinForms Anwendung fürs .NET Framework 4.8
in C#
Um schnell mal Einstellungen wegspeichern und bei erneutem Programmstart
wieder hervorholen zu können, habe ich es mit dem JSON Format probiert.
Also
1 | using System.Text.Json;
|
2 | using System.Text.Json.Serialization;
|
hingeschrieben und die verlangten Verweise eingefügt.
Eine Klasse zusammen gestellt, die genau das enthält, was gespeichert
werden soll.
Im Großen und Ganzen funktioniert auch schon sehr viel. ABER, wenn ein
Color Struct geladen werden soll, sehe ich nix. Da gibt es den
Durchblick auf ungewünschte Weise. Sprich, egal welche Farbe gespeichert
werden sollte, kommt völlig transparent zurück. In der Datei steht
allerdings noch alles über die gewünschten Farben. Es muss also beim
Lesen schief gehen.
Das Problem müssen doch noch andere haben. Man findet im Netz auch was,
allerdings keine Copy&Paste&glücklich sein-Fertiglösung.
Der Versuch eine JsonConverter<Color> Klasse zu erstellen und per
JsonSerializerOptions in Stellung zu bringen scheitert bei mir. Beim
Aufruf der read-Methode wirft er eine Exception. TrySkip funktioniert,
aber ich will ja schon gerne wissen, was drin steht.
Wie komme ich wieder an die richtigen Farben ran ?
Da ich schon eine größere Datei mit Farben gespeichert habe, würde ich
gerne das Abspeichern so lassen und das Einlesen so ändern, dass es
diese Infos lesen kann.
PS: mein Array von 3 Farben sieht in der Datei so aus :
1 | "farben":[{"R":128,"G":0,"B":0,"A":255,"IsKnownColor":true,"IsEmpty":false,"IsNamedColor":true,"IsSystemColor":false,"Name":"Maroon"},{"R":0,"G":255,"B":0,"A":255,"IsKnownColor":true,"IsEmpty":false,"IsNamedColor":true,"IsSystemColor":false,"Name":"Lime"},{"R":0,"G":0,"B":139,"A":255,"IsKnownColor":true,"IsEmpty":false,"IsNamedColor":true,"IsSystemColor":false,"Name":"DarkBlue"}]
|