コード例 #1
0
        /// <summary>
        /// EnumのListItemコレクションを取得する
        /// </summary>
        /// <typeparam name="T">Enumタイプ</typeparam>
        /// <param name="enumType"></param>
        /// <remarks>
        ///  注意:
        ///  表示名はStringTableに追加する必要があります。
        ///  StringTableのリソース項目の名前は"Enum Type name" + "_" + "Name"
        /// </remarks>
        /// <returns></returns>
        public static List <ListItem <T> > GetEnumItem()
        {
            Type enumType = typeof(T);

            if (!enumType.IsSubclassOf(typeof(Enum)))
            {
                return(null);
            }
            var values = Enum.GetValues(enumType).Cast <T>();
            List <ListItem <T> > items = new List <ListItem <T> >();

            foreach (T value in values)
            {
                string key  = enumType.Name + "_" + value.ToString();
                string name = RSM.GetStringByKey(key, typeof(RS.StringTable));
                items.Add(new ListItem <T>(name, value));
            }
            return(items);
        }