Здравствуйте, Doc, Вы писали:
Doc>Тот факт что у абстрактного класса может быть состояние уже меняет все. Как раз свести абстрактный класс к интерфейсу это не общий а частный случай.
А такой интерфейс имеет состояние или нет?
interface IA
{
int Value {get;set;}
}
Doc>Это от дизайна зависит можно использовать расширение или нет.
Что от дизайна зависит? Возможность перегрузки метода расширения для разных типов, подобно виртуальным методам?
Doc>Да не про множественное наследование эта фича.
Да ладно?
Doc>Это про добавление методов без ломки совместимости.
И зачем же тогда эту фичу добавили в интерфейсы, если можно было спокойно вместо интерфейса брать класс и там это всё работало бы без изменений языка?