ジェネリック関数ではenum
型は通常の方法((int)...
)で整数へ変換できません。
Convert.ToInt32
やConvert.ToUInt32
等を使えばジェネリック関数でもenum
型を整数へ変換できます。
using System; Console.WriteLine(f(Enum1.A)); string f<T>(T t) where T : Enum { // コメント解除すると以下のエラーが発生します。 // エラー CS0030 型 'T' を 'uint' に変換できません //return $"{t} ({(uint)t})"; return $"{t} ({Convert.ToInt32(t)})"; } enum Enum1 { A = 0, B }
日本語版Google検索でいくら検索しても非ジェネリック環境で(int)...
するコードばかりヒットしました。SEOが優秀な某サイト群です。
専門的な情報は英語版Google検索で英単語を並べる方が良いみたいです。