TreeNodeCollection, giống như một số bộ sưu tập điều khiển khác trong System.Windows.Forms, triển khai IEnumerable. Có lý do thiết kế nào đằng sau điều này hay là nó chỉ là một nôn nao từ những ngày trước khi Generics?Tại sao TreeNodeCollection không ngụ ý IEnumerable <TreeNode>?
5
A
Trả lời
7
Vâng, có rất nhiều bộ sưu tập .NET Framework, điều đó không thực hiện chung IEnumerable.
Tôi nghĩ rằng đó là vì sau 2.0 không có (ít nhất là không phù hợp) phát triển phần cốt lõi của FW.
Trong khi đó tôi đề nghị bạn tận dụng workaround sau:
using System.Linq;
...
var nodes = GetTreeNodeCollection().OfType<TreeNode>();
0
Vâng, Windows Forms ngày trở lại trước khi Generics trong Net
Các vấn đề liên quan
- 1. Tại sao IEnumerable <T> kế thừa từ IEnumerable?
- 2. Tại sao IEnumerable <struct> không thể xem như IEnumerable <object>?
- 3. Nếu `self` luôn là bộ nhận ngụ ý trong Ruby, tại sao` self.puts` không hoạt động?
- 4. Tại sao một chức năng mất IEnumerable <interface> không chấp nhận IEnumerable <class>?
- 5. Tại sao không Cast <double>() hoạt động trên IEnumerable <int>?
- 6. Tại sao IList <T> không có phương thức Chèn lấy IEnumerable <T>?
- 7. Flatten IEnumerable <IEnumerable <>>; hiểu Generics
- 8. Tại sao DisplayFor không lặp lại thông qua IEnumerable <DateTime> của tôi?
- 9. Tại sao C# mảng đa chiều không triển khai IEnumerable <T>?
- 10. Tại sao IEnumerable <T> không triển khai Add (T)?
- 11. Ngụ ý và lệnh khai báo
- 12. macosx-version-min ngụ ý điều gì?
- 13. Lệnh tệp Linux: SYSV ngụ ý gì?
- 14. IEnumerable <IEnumerable <T>> để IEnumerable <T> sử dụng LINQ
- 15. SQL: NULL như ColumnName ngụ ý
- 16. hiện gần() ngụ ý flush() trong Python?
- 17. Cast IEnumerable để IEnumerable <T> khi T không biết tại thời gian biên dịch
- 18. Tại sao không hỗ trợ C# ngụ ý các loại chung trên các nhà xây dựng lớp?
- 19. MySQL: Trường có cột 'duy nhất' ngụ ý một chỉ mục không và nếu có thì tại sao?
- 20. C# Không thể chuyển đổi từ IEnumerable <Base> thành IEnumerable <Derived>
- 21. Tại sao tôi không thể đưa danh sách <T> của IEnumerable vào BindingList <t>?
- 22. IEnumerable <string> chuỗi
- 23. Ngụ ý so sánh chuỗi, 0 = '', nhưng 1 = '1'
- 24. Truy vấn TreeNodeCollection
- 25. gì đang ngụ ý kiểu generic thông số
- 26. Sự khác nhau giữa IEnumerable và IEnumerable <T>?
- 27. Truyền từ IEnumerable <Object> tới IEnumerable <string>
- 28. Ngụ ý bình đẳng trong kết hợp mẫu Haskell
- 29. Làm thế nào để chuyển đổi một IEnumerable <IEnumerable <T>> thành IEnumerable <T>
- 30. Tại sao IEnumerable <T> .Max buộc T là IComparable?
public class TreeNodeCollection: IList, ICollection, IEnumerabl Tại sao bạn nói "không thực hiện chung IEnumerable"? BTY, mã của bạn hoạt động. –