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>,其实最中间强制转换哪里,可能会出错,转化一下能好一些。
时间: 2024-10-05 04:24:21