Здравствуйте, VladD2, Вы писали:
VD>Против дефолтной реализации я лично ничего не имею. Я против зависимости от какй бы то нибыло реализации.
Кстати, у базовых классов есть еще одно преимущество перед интерфейсами. Если в следующей версии захочется добавить новый метод, скажем, DataTable DbConnection.GetSchema() или bool DataAdapter.ReturnProviderSpecificTypes (реальные примеры из 1.2), то в базовый класс он добавляется без проблем — пишется дефолтная реализация, кидающая exception или эмулирующая его через другие методы, и все существующие third-party провайдеры продолжают рабаоать без перекомпиляции. Если же дизайн основан на интерфейсах, то приходится плодить уродцев типа IDbConnection2 и IDataAdapter2.