前几天弄页面的时候..
有20多个枚举字段需要转换绑定到页面..
就写了一个方法
   private string ConvertEnum(string str,Type type)
    {
        str = str.Trim().TrimEnd(',');
        string[] strings = str.Split(',');
        for (int i = 0; i < strings.Length; i++)
        {
            strings[i] = Enum.GetName(type, int.Parse(strings[i]));        }
        return String.Join(",", strings);    }现在想想,这个方法可不可以用泛型来写.?

解决方案 »

  1.   

    private string ConvertEnum<T>(string str,T type) where T : 你的枚举类
      

  2.   

    可以是可以,不过加上泛型代码还是那样写,总要反射取得 Type 的
      

  3.   

    private string ConvertEnum<T>(string str)
    {
        str = str.Trim().TrimEnd(',');
        string[] strings = str.Split(',');
        for (int i = 0; i < strings.Length; i++)
        {
            strings[i] = Enum.GetName(typeof(T), int.Parse(strings[i]));    }
        return String.Join(",", strings);
    }
      

  4.   

    是的 我也是这样想 最后还是回归到Type的反射...谢谢了  开会回来结贴