TreeNodeCollection, como algunas de las otras colecciones de control en System.Windows.Forms, implementa IEnumerable. ¿Hay alguna razón de diseño detrás de esto o es simplemente una resaca de los días previos a los genéricos?¿Por qué TreeNodeCollection no se aplica IEnumerable <TreeNode>?
5
A
Respuesta
7
Sí, hay muchos colección de .NET Framework, que no implementa IEnumerable genérico.
Creo que es porque después de 2.0 no hubo (al menos no coinciden) el desarrollo de la parte central de FW.
Mientras tanto, propongo a hacer uso de solución siguiente:
using System.Linq;
...
var nodes = GetTreeNodeCollection().OfType<TreeNode>();
0
Sí, Windows Forms remonta a antes de los genéricos en .Net
Cuestiones relacionadas
- 1. Por qué IEnumerable <T> se define como IEnumerable <out T>, no IEnumerable <T>
- 2. ¿Por qué no puedo incluir IEnumerable <struct> como IEnumerable <object>?
- 3. ¿Por qué una función que toma IEnumerable <interface> no acepta IEnumerable <class>?
- 4. ¿Por qué IEnumerable <T> hereda de IEnumerable?
- 5. ¿Por qué IEnumerable <T> no implementa Agregar (T)?
- 6. ¿Por qué no se aplica Colspan como se esperaba?
- 7. ¿Por qué ICollection <T> implementar tanto IEnumerable <T> y IEnumerable
- 8. ¿Por qué las matrices en .net solo implementan IEnumerable y no IEnumerable <T>?
- 9. C# No se puede convertir de IEnumerable <Base> a IEnumerable <Derived>
- 10. ¿Por qué no Cast <double>() funciona en IEnumerable <int>?
- 11. ¿Por qué IList <T> no tiene Insertar métodos que toman IEnumerable <T>?
- 12. ¿Cómo se llama IEnumerable <Foo>?
- 13. ¿Por qué mi DisplayFor no está pasando por mi IEnumerable <DateTime>?
- 14. ¿Por qué es Func <T> ambiguo con Func <IEnumerable <T>>?
- 15. TreeView TreeNodeCollection Key
- 16. ¿Cómo se implementa IEnumerable <T>
- 17. ¿Por qué el Diccionario <TKey, TValue> no tiene un IEnumerable <KeyValuePair <TKey, TValue >> ctor?
- 18. Cómo convertir un IEnumerable <IEnumerable <T>> a un IEnumerable <T>
- 19. IEnumerable <IEnumerable <T>> IEnumerable a <T> usando LINQ
- 20. Obtener un IEnumerable <T> de un IEnumerable <IEnumerable <T>>
- 21. Consultar una TreeNodeCollection
- 22. IEnumerable <> to IList <>
- 23. ¿Por qué las matrices multidimensionales C# no implementan IEnumerable <T>?
- 24. IEnumerable <IMyInterface> Implícitamente de Class [] pero no de Struct []. ¿Por qué?
- 25. ¿Por qué no se aplica forall (uso de RankNTypes) por defecto?
- 26. ¿Qué está pasando mal con postgresql initdb? ¿Por qué la codificación `UTF-8` no se aplica?
- 27. Por qué no hay suma() de extensión para IEnumerable <uint>
- 28. ¿Por qué IEnumerable <T> .Max no obliga a ser IComparable?
- 29. ¿Por qué la clase String no implementa IEnumerable <char> en una biblioteca portátil?
- 30. ¿Por qué IDictionary (no genérico) hereda de IEnumerable <DictionaryEntry>?
TreeNodeCollection clase pública: IList, ICollection, IEnumerabl ¿Por qué dice "no implementa IEnumerable genérico"? BTY, tu código funciona. –