Допустим, я хочу иметь возможность отображать разную логику представления для двух разных типов, оба являются элементами / продуктами магазина, которые будут использоваться в представлениях результатов поиска и т. Д. В конечном итоге я хотел бы, чтобы объекты были упорядочены в соответствии со свойством цены, которое оба есть, но, конечно, они по-прежнему являются разными типами, поэтому мне интересно, можно ли упорядочить разные типы объектов в списке, используя для каждого значение свойства одного и того же типа?
У меня есть Product
тип и ProductCombo
тип.
Является ли более оптимальным хранить их в классе модели как таковой (возможно, тогда их нельзя заказать):
public class
{
public List<Product> ProductList {get; set;}
public List<ProductCombo> ProductComboList {get; set;}
}
Или
public class
{
public List<object> StoreItems {get; set;}
}
Если я воспользуюсь вышеуказанным вторым вариантом, мне, конечно, придется распаковать каждый объект, получить тип и решить, какое действие предпринять для указанного типа в представлении. Я думаю, что это мой лучший выбор? Учитывая, что я хотел бы упорядочить элементы в List<object>
по их десятичному типу, указанному в свойстве price.
Также еще один грубый способ сделать это, я думаю, это.
public class StoreItem
{
public Product product {get; set;}
public ProductCombo productCombo {get; set;}
public double itemPrice {get; set;}
}
А потом просто хранить в List<StoreItem>
установка itemPrice при выполнении foreach на
каждый объект возвращается из базы данных.