遇到奇怪的难题,这种泛型方法怎么调用?

sugarbelle 2017-07-27 12:02:29
我有一个泛型方法:
public static List<T> GetList<T>() where T : struct
{
return Enum.GetValues(typeof (T)).Cast<T>().ToList();
}

然后
public object Convert(object value)
{
//问题1: 这个方法里怎么调用 GetList

//问题2:假如我知道这个value是 枚举类型A. var a = (A) value;
//接下来我怎么调用GetList
}

谢谢各位回复的大神.
(PS:这个Convert是WPF里面自带的.是写死了参数是object类型)
...全文
198 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
夏天的枫 2017-07-28
  • 打赏
  • 举报
回复
正怒月神 2017-07-28
  • 打赏
  • 举报
回复
引用 5 楼 sugarbelle 的回复:
[quote=引用 1 楼 hanjun0612 的回复:]
static void Main(string[] args)
        {
            var q = GetList<A>();

            Console.ReadLine();
        }

        enum A
        { 
            first=1,
            second=2
        }

        public static List<T> GetList<T>() where T : struct
        {
            return Enum.GetValues(typeof(T)).Cast<T>().ToList();
        }
哈哈,问题2是我有点搞晕了. 如果是不知道类型的情况下呢? (问题1)[/quote] T : struct已经约束了类型必须是值类型。 如果不是,编译不通过
sugarbelle 2017-07-27
  • 打赏
  • 举报
回复
引用 1 楼 hanjun0612 的回复:
static void Main(string[] args)
        {
            var q = GetList<A>();

            Console.ReadLine();
        }

        enum A
        { 
            first=1,
            second=2
        }

        public static List<T> GetList<T>() where T : struct
        {
            return Enum.GetValues(typeof(T)).Cast<T>().ToList();
        }
哈哈,问题2是我有点搞晕了. 如果是不知道类型的情况下呢? (问题1)
大然然 2017-07-27
  • 打赏
  • 举报
回复
MVVM ?
XBodhi. 2017-07-27
  • 打赏
  • 举报
回复
你 T 是 struct ,Object 肯定不行啊。
ilikeff8 2017-07-27
  • 打赏
  • 举报
回复
没看明白,直接调用不就可以了 var a = (A)value; var list=GetList<A>(); 但你应该是想做界面数据绑定值转换吧
正怒月神 2017-07-27
  • 打赏
  • 举报
回复
static void Main(string[] args)
        {
            var q = GetList<A>();

            Console.ReadLine();
        }

        enum A
        { 
            first=1,
            second=2
        }

        public static List<T> GetList<T>() where T : struct
        {
            return Enum.GetValues(typeof(T)).Cast<T>().ToList();
        }

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧