EnumToString is VeryGood

Apr 11, 2009 at 4:10 PM
真不错。好像原来没有这个功能,不知啥时候您加上的。

然后我今天尝试实现反转换来着

private T str2enum<T>(string en) where T: Enum
        {
            var os = Enum.GetNames(typeof(T));

            foreach (var o in os)
            {
                var s = ((T)Enum.Parse(typeof(T), o));

                if (s.EnumToString() == en)
                {
                    return s;
                }
            }

           throw new Exception("~~~~");
        }

没想到微软禁止where T: Enum

说什么Constraint cannot be special class 'System.Enum'

哈哈,于是就放弃了。~
Apr 11, 2009 at 4:12 PM
后来按照网上的方法用sturct代替Enum

但是EnumToString出不来,哈哈,最后还是决定放弃le 

        private T str2enum<T>(string en) where T : struct
        {
            var os = Enum.GetNames(typeof(T));

            foreach (var o in os)
            {
                var s = ((T)Enum.Parse(typeof(T), o));

                if (s.EnumToString() == en)
                {
                    return s;
                }
            }

            throw new Exception("~~~~");
        }
Coordinator
Apr 13, 2009 at 5:04 AM
很早就有了,只不过原来只在StringHelper中,后来也加到Enum的扩展方法里了。
其实我比较想override Enum的ToString函数,不过.net不允许,这一点Java比较好。