Table of Contents

Class DiwassEnumExtensions

Namespace
Zedal.Sdk.Apis.Diwass.Enums
Assembly
Zedal.Sdk.dll

Wire-Mapping-Helper für DIWASS-Enums (siehe WireValueAttribute). Übersetzt zwischen typsicherem Enum und dem String, der über die DIWASS-Wire-Schicht ausgetauscht wird.

public static class DiwassEnumExtensions
Inheritance
DiwassEnumExtensions
Inherited Members

Remarks

Konvention: jedes mappbare Enum hat einen Unknown-Eintrag (Wert 0), der als Fallback für unbekannte Server-Werte dient. So kracht eine Deserialisierung nicht, wenn der Server einen Wert liefert, den das SDK noch nicht kennt — analog zur Vorgabe aus dem Issue „Unbekannte Server-Werte führen nicht zu Exceptions".

Methods

FromWireOrUnknown<TEnum>(string)

Wie TryFromWire<TEnum>(string, out TEnum), fällt aber bei unbekannten Werten auf Unknown (Underlying-Wert 0) zurück — Convenience für die typische Lese-Stelle, an der ein leerer/unbekannter Server-Wert keinen Throw rechtfertigt.

ToWire<TEnum>(TEnum)

Liefert den Wire-String für value. Bei Unknown (oder einem Enum-Mitglied ohne WireValueAttribute und ohne Namens-Treffer) wird Empty zurückgegeben — der Aufrufer entscheidet, ob das Feld weggelassen oder leer übermittelt wird.

TryFromWire<TEnum>(string, out TEnum)

Versucht, einen Wire-String in das Enum zu übersetzen. Vergleich ist case-insensitiv, da die DIWASS-XSDs/-Samples uneinheitlich groß-/kleingeschrieben sind (z.B. XSD "EORI", Sample "eori").