Вы можете имитировать множественное наследование с использованием интерфейсов. Если разрешено множественное наследование с классами, это приведет к Diamond problem.
По причинам множественное наследование не поддерживается, я предлагаю вам прочитать Why doesn't C# support multiple inheritance?
Различные языки на самом деле имеют разные ожидания для того, как М. И. работ. Например, как разрешены конфликты и объединены ли дублирующие базы . Прежде чем мы сможем реализовать MI в среде CLR, мы должны сделать обзор всех языков, цифра из общих понятий и принять решение , как выразить их в нейтрально. Мы бы также должны решить, принадлежит ли MI в CLS, и что это означало бы для языков, которые не хотят этого понятия (предположительно, VB.NET, например). Of Конечно, это тот бизнес, который мы находимся в , как обычное время выполнения, но мы еще не сделали этого для MI .
Число мест, где MI действительно Соответствующий на самом деле довольно маленький. Во многих случаях наследование может быть выполнено . В других случаях вам может быть , способным использовать инкапсуляцию и делегирование . Если бы мы добавили немного отличную конструкцию, например, mixins, было бы действительно больше мощным?
Множественное наследование реализации вводит много сложностей в реализацию . Эта сложность удары литья, макет, рассылка, доступ к полям, сериализация, личность сравнение, проверяемость, отражение, дженерики и, возможно, много других мест.
Вы можете явно определить их как –
При реализации метода, который определяют оба интерфейса, не должно быть ошибок компилятора. – Dienekes