Следуя советам FxCop и моим личным склонностям, я поощряю команду, которую обучаю, использовать ReadOnlyCollections в максимально возможной степени. Если только так, чтобы получатели списков не могли изменить свое содержание. В их теории это хлеб с маслом. Проблема в том, что интерфейс List <> гораздо богаче, предоставляя всевозможные полезные методы. Почему они сделали этот выбор?
Вы просто отказываетесь и возвращаете записываемые коллекции? Вы возвращаете коллекции только для чтения и затем оборачиваете их в доступный для записи вариант? Ahhhhh.
Обновление:
Спасибо, я знаком с Руководством по проектированию фреймворка и поэтому команда использует FxCop для его реализации. Тем не менее, эта команда живет с VS 2005 (я знаю, я знаю), и поэтому, говоря им, что методы LINQ / Extension решат их проблемы, просто огорчает их.
Они узнали, что List.FindAll () и .FindFirst () обеспечивают большую ясность, чем написание цикла foreach. Теперь я подталкиваю их к использованию ReadOnlyCollections, они теряют эту ясность.
Может быть, есть более глубокая проблема дизайна, которую я не замечаю.
- Извините, в оригинальном сообщении должно быть упомянуто ограничение VS2005. Я так долго живу, что просто не замечаю.