Class DiwassEnumExtensions
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-Wert0) 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. BeiUnknown(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").