1. ホーム
  2. c#

[解決済み] 列挙型の値の検証

2023-07-06 05:10:18

質問

整数が有効なenumの値であるかどうかを検証する必要があります。

C#でこれを行う最良の方法は何ですか?

どのように解決するのですか?

データは常に UI から来るだけでなく、自分がコントロールできる UI からも来るのだと考える、このような人たちを好きになりましたね!

IsDefined はほとんどのシナリオでうまくいくので、そこから始めることができます。

public static bool TryParseEnum<TEnum>(this int enumValue, out TEnum retVal)
{
 retVal = default(TEnum);
 bool success = Enum.IsDefined(typeof(TEnum), enumValue);
 if (success)
 {
  retVal = (TEnum)Enum.ToObject(typeof(TEnum), enumValue);
 }
 return success;
}

(明らかに、int 拡張として適切でないと思われる場合は、'this' を削除してください)