История имеет значение. Дженерики не всегда существуют, поэтому вы можете столкнуться с классами и API, которые были разработаны до появления дженериков.
Также целевая аудитория имеет значение. Некоторые функции ориентированы на аудиторию разработчиков, которые могут иметь problems understanding generics:
компромиссных: API-интерфейсы, используя некоторые дополнительные особенности дженериков может быть слишком трудно использовать для некоторых разработчиков. Понятие Дженерики не является широко понял, в некоторых случаях синтаксис может создавать проблемы, и, как любой большой новой функции Дженерики могут представлять кривую существенное для обучения некоторых разработчиков начального уровня.
Да, цитата указана с 2004 года, но некоторые, если не большинство .Net API, которые вы используете сегодня, вышли в 2005 году, поэтому цитата на самом деле очень актуальна.
Насколько это будет удачным? –
@Chris: Очень мало с 'Cast', и только очень немного с' OfType' (так как проверка типов выполняется дважды). –