Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, Serginio1, Вы писали:
V>>>С некоторой натяжкой такую функциональность можно считать чем-то вроде вычислимых столбцов в таблице БД.
S>>Ну учитывая свойства и методы
S>>это мало чем отличается от абстрактного класса.
V>Абстрактный класс содержит данные, а дефолтная реализация может содержать только алгоритмы.
Абстрактный класс может содержать данные, а может и не содержать.
Но вот раньше не было такого функционала и плодили классы, там где можно было обойтись свойствами и методами интерфейса. Сейчас когда в интерфейсы ввели возможность реализации
надобность в таких классах отпала.
Например Stream всего два поля
private Stream.ReadWriteTask _activeReadWriteTask;
private SemaphoreSlim _asyncActiveSemaphore;
Да можно сделать их через свойства интерфейса и сделать его интерфейсом