Сортировать список различных объектов по общему свойству - PullRequest
2 голосов
/ 11 марта 2012

У меня есть List<object>, который содержит экземпляры трех типов GuestbookEntry, Comment и SectionEntry. Эти три класса имеют общее свойство CreateDate.

Есть ли способ, которым я могу отсортировать этот список по заданному свойству (которое я знаю, что все объекты имеют), не зная тип объекта?

1 Ответ

4 голосов
/ 11 марта 2012

Если вы не можете сделать эти два класса производными от общего Interface \ Base Class, которое является лучшим объектно-ориентированным решением.
Вы можете преобразовать элементы списка в динамические.

List<object> list = GetListFromSomeWhere();
var dynamicList = list.Cast<dynamic>();

Затем сортируйте динамический список без ошибок компиляции:

dynamicList.OrderBy(x => x.CreateDate); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...