reactredux/src/DomainObjects/Enumerations/Locales.cs

33 lines
948 B
C#

using Core.Abstractions;
using System.Diagnostics.CodeAnalysis;
namespace DomainObjects.Enumerations;
public class Locales : Enumeration, IParsable<Locales> {
public static Locales Unknown = new(-1, "Unknown");
public static Locales Us = new(0, "en-US");
public static Locales Ru = new(1, "ru-RU");
public static Locales It = new(2, "it-IT");
private Locales(int id, string displayName) : base (id, displayName) { }
public static Locales Parse(string s, IFormatProvider? provider) {
if (!TryParse(s, provider, out var result)) {
throw new ArgumentException("Could not parse supplied value.", nameof(s));
}
return result;
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, [MaybeNullWhen(false)] out Locales result) {
result = Unknown;
try {
result = FromDisplayName<Locales>(s ?? "");
return true;
}
catch {
return false;
}
}
}