Seguendo i suggerimenti di FxCop e la mia inclinazione personale ho incoraggiato il team che sto preparando a utilizzare ReadOnlyCollections il più possibile. Se solo così i destinatari degli elenchi non possono modificare il loro contenuto. Nella loro teoria questo è il pane & burro. Il problema è che l'interfaccia Elenco < è molto più ricca esponendo tutti i tipi di metodi utili. Perché hanno fatto quella scelta?Perché ReadOnlyCollection <> non include metodi come FindAll(), FindFirst(),
Ti arrendi e restituisci raccolte scrivibili? Ritorni raccolte di sola lettura e poi le avvolgi nella varietà scrivibile? Ahhhhh.
Update: Grazie ho familiarità con il quadro di design linee guida e questo è il motivo per cui il team sta usando FxCop di farla rispettare. Comunque questa squadra vive con VS 2005 (lo so, lo so) e così dicendo che i metodi LINQ/Extension risolverebbero i loro problemi li rende solo tristi.
Hanno appreso che List.FindAll() e .FindFirst() forniscono maggiore chiarezza rispetto alla scrittura di un ciclo foreach. Ora li sto spingendo a usare ReadOnlyCollections per perdere quella chiarezza.
Forse c'è un problema di progettazione più profondo che non sto individuando.
- Spiacente, il post originale avrebbe dovuto menzionare la limitazione VS2005. Ho vissuto per così tanto tempo che non me ne accorgo.
Purtroppo la squadra è bloccata nella distorsione temporale del 2.0. –