【C#】列挙型の項目数取得(その2)
1年前に同じようなこと書きましたが
【C#】列挙型の項目数取得 - 浮遊島
今回はジェネリッククラスでstatic変数を持つバージョンの実装です
メリット:1回目だけ計算して、2回目以降のアクセスが早くなります
using System; public class EnumSize<T> where T : struct, IConvertible { public static int Count {get;} = Enum.GetValues(typeof(T)).Length; }
// Enum定義 enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri}; // 使い方 EnumSize<Days>.Count; // Count:7