C# 按公共属性对不同对象的列表进行排序
我有一个C# 按公共属性对不同对象的列表进行排序,c#,.net,sorting,object,C#,.net,Sorting,Object,我有一个列表,其中包含三种类型的实例GuestbookEntry,Comment和SectionEntry。这三个类有一个公共的CreateDate属性 是否有任何方法可以在不知道对象类型的情况下对给定属性(我知道所有对象都有)的列表进行排序 如果您不能使这两个类派生自通用的接口\基类,这是最好的面向对象解决方案。 您可以将列表项强制转换为动态 List<object> list = GetListFromSomeWhere(); var dynamicList = list.Cas
列表
,其中包含三种类型的实例GuestbookEntry
,Comment
和SectionEntry
。这三个类有一个公共的CreateDate
属性
是否有任何方法可以在不知道对象类型的情况下对给定属性(我知道所有对象都有)的列表进行排序 如果您不能使这两个类派生自通用的
接口
\基类
,这是最好的面向对象解决方案。您可以将列表项强制转换为动态
List<object> list = GetListFromSomeWhere();
var dynamicList = list.Cast<dynamic>();
gdoron,这太棒了:)真不敢相信我从来没有想过使用动态类型-我想我还是困在了.NET3.5中,呵呵;)非常感谢。我想我们应该在list.Cast()的末尾添加.ToList(),否则它会显示错误吗?
dynamicList.OrderBy(x => x.CreateDate);