object转List<XXX>的问题

List<object> demo(object a)
{
  List<object> res = new List<object>();
  object c = a;
  Type d = a.GetType();
  if (d is IList && d.IsGenericType)
  {
     IList list = (IList)c;
     res = (List<object>)list;     //这里可能会有问题,请自行修改,或者用 IList.Cast<object>() 进行转换
  }
  else
  {
     throw new Exception("parm is not my type")
  }
  return res;
}

首先,这种方式是为了某个方法里的分支操作,可以传入一个值,也可以传入一个列表。
都说尽量不要干太多的事儿,可是由于我技术问题只能这么搞。

判断一个 object 是不是一个 List<T>,其实最中间强制转换哪里,可能会出错,转化一下能好一些。

posted @ 2014-09-27 12:57  三台  阅读(6849)  评论(0编辑  收藏  举报