a caso ad esempio:Perché così tante collezioni di nome in .NET non implementare IEnumerable <T>?
ConfigurationElementCollection
Net ha tonnellate di questi piccoli WhateverCollection
classi che non implementano IEnumerable<T>
, il che significa che non posso usare LINQ to Objects con loro fuori dalla scatola. Anche prima di Linq, penseresti che avrebbero voluto fare uso di generici (che sono stati introdotti fino in C# 2 credo)
Sembra che mi imbatti in questi fastidiosi tipi di raccolta tutto il tempo. C'è qualche motivo tecnico?
Essi sono stati introdotti prima generici erano disponibili. –
È tecnicamente possibile utilizzare LINQ "fuori dalla scatola" utilizzando '' OfType' o Cast' se la raccolta tende a contenere un tipo forte, purché almeno implementa 'IEnumerable' (non generico). 'OfType' /' Cast' produrre generici IEnumerable '' casi, e apre così il resto degli operatori LINQ. –
E molto tempo fa dall'ultimo utilizzo di ArrayList. – deerchao