Здравствуйте, karbofos42, Вы писали:
Doc>>Это про добавление методов без ломки совместимости.
K>И зачем же тогда эту фичу добавили в интерфейсы, если можно было спокойно вместо интерфейса брать класс и там это всё работало бы без изменений языка?
Тут уже был разбор как сделать множественное наследование чтобы не было проблем как с виртуальным наследованием в плюсах.
Можете поискать в раздели Философии.
Попробую найти.
Конкретно здесь .NET не умеет множественное наследование классов.
А множественное наследование интерфейсов умеет.
Почему единственным вариантом добавлять новую функциональность не ломая миллионы строк кода это методы по умолчанию в интерфейсе.
Как уже указали в Java аналогичная проблема и такое же решение.