Я отчетливо помню, что когда-то Microsoft руководствовалась указанием добавить суффикс «Base» к абстрактному классу, чтобы исключить тот факт, что он был абстрактным. Следовательно, у нас есть классы типа System.Web.Hosting.VirtualFileBase
, System.Configuration.ConfigurationValidatorBase
, System.Windows.Forms.ButtonBase
и, конечно, System.Collections.CollectionBase
.
Но я заметил, что в последнее время многие абстрактные классы в Framework, похоже, не следуют этому соглашению. Например, следующие классы являются абстрактными, но не следуют этому соглашению:
System.DirectoryServices.ActiveDirectory.DirectoryServer
System.Configuration.ConfigurationElement
System.Drawing.Brush
System.Windows.Forms.CommonDialog
И это только то, что я мог бы набросить за несколько секунд. Поэтому я посмотрел, что должна была сказать официальная документация, чтобы убедиться, что я не сумасшедший. Я нашел Имена классов, структур и интерфейсов в MSDN на Руководство по разработке для разработки библиотек классов . Как ни странно, я не могу найти упоминания о директиве по добавлению «Base» в конец имени абстрактного класса. И рекомендации больше не доступны для версии 1.1 Framework.
Итак, я теряю это? Существовало ли когда-либо это руководство? Это было просто брошено без слов? Разве я создавал длинные имена классов один за последние два года даром?
Кто-то бросает мне кость здесь.
Обновление
Я не сумасшедший. Руководство существовало. Кшиштоф Квалина жалуется на это в 2005 году.