У меня есть абстрактный класс с именем Time
, затем два подкласса SingleYear
и Period
. У меня могло быть больше подклассов позже.C# Сначала заказывайте по типу класса, затем используйте CompareTo
Класс Time
класс реализует IComparable
, но функция CompareTo
фактически реализована в каждом подклассе.
У меня есть запрос в LINQ, как это: myListOfObjects.OrderBy(o=>o.Time);
Это работает. Тем не менее, я хотел бы иметь возможность выбрать, должны ли объекты SingleYear
или Period
первыми (до фактического CompareTo
). Моя реализация CompareTo
верна, однако в некоторых случаях мне нужно показать первые периоды, затем один год (или наоборот).
Поскольку у меня может быть больше (скажем, 5-6) подклассов, как я могу указать, какие подклассы должны быть первыми, а затем CompareTo будет выполнять свою работу позже?
Я голосую, чтобы закрыть этот вопрос не по теме, потому что у вас уже есть рабочее решение. Подумайте о том, как адаптировать вопрос для обзора кода, чтобы ваш рабочий код был рассмотрен. – Servy
Возможный дубликат [Множественный "заказ от" в LINQ] (http://stackoverflow.com/questions/298725/multiple-order-by-in-linq) – konkked
@Servy У него есть рабочий код, который делает что-то еще. Каждый, кто задает вопрос, имеет какой-то рабочий код, который делает что-то еще. –