是否可以订购 System.Collection.IList 而无需将其转换为已知类型?
我收到一个列表object
并将其转换为 IList 使用
var listType = typeof(List<>);
var cListType = listType.MakeGenericType(source.GetType());
var p = (IList)Activator.CreateInstance(cListType);
var s = (IList)source;
我想根据 ID 订购它,它可能可用也可能不可用。
我想产生的是这样的:
if (s.First().GetType().GetProperties().where(m=>m.Name.Contians("Id")).FirstOrDefault != null)
{
s=s.OrderBy(m=>m.Id);
}
但是,s 没有扩展方法“Order”,也没有扩展方法“First”