На моем сайте я использую View Model для каждой страницы. Каждая модель просмотра состоит только из свойств, и ничего больше. Некоторые страницы используют одну и ту же группу свойств. Я бы хотел создать отдельный класс для каждой группы свойств, а затем использовать соответствующие группы на каждой странице View Model.Модели с множественным наследованием в C#
пример собственности группы:
public class GroupCar
{
public string CarName { get; set; }
public string CarColour { get; set; }
public string CarLink { get; set; }
}
public class GroupSport
{
public string SportName { get; set; }
public string SportLocation { get; set; }
public string SportLink { get; set; }
}
public class GroupFood
{
public string FoodName { get; set; }
public string FoodPrice { get; set; }
public string FoodLink { get; set; }
}
Теперь в моей модели представления, я бы несколько свойств этой странице, и я хотел бы использовать некоторые свойства этих групп.
Я могу Наследовать одну из групп легко
public class VMMyPage : GroupCar
{
//My Bespoke Properties
}
Как я наследовать несколько групп, хотя ... что-то вроде:
public class VMMyPage : GroupCar, GroupSport, GroupFood
{
//My Bespoke Properties
}
Я знаю, что вы не можете сделать это в C#, но есть ли обходной путь? Я прочитал несколько статей об использовании класса интерфейса, но нет примеров того, чего я пытаюсь достичь?
Из вопроса ОП я не думаю, что он действительно заботится о том, контракт или не доступны в них свойства, хотя, я думаю, что он просто хочет получить доступ к ним без необходимости ввода/копировать их все снова. –
Да, я не хочу писать их в каждой модели просмотра. Я хочу одно центральное место, где я могу легко управлять ими по всем моделям одновременно. – Dan88