代码之家  ›  专栏  ›  技术社区  ›  Sean Kearon

为什么TreeNodeCollection不表示IEnumerable<TreeNode>?

  •  5
  • Sean Kearon  · 技术社区  · 16 年前

    TreeNodeCollection与System.Windows.Forms中的一些其他控件集合一样,实现IEnumerable。这背后有什么设计上的原因吗?还是仅仅是仿制药时代的遗留问题?

    2 回复  |  直到 9 年前
        1
  •  7
  •   Nolonar    9 年前

    是的,有许多.NET框架集合,它们不实现泛型IEnumerable。

    我认为这是因为在2.0之后,FW的核心部分没有(至少没有如此匹配)开发。

    同时,我建议您利用以下解决方法:

    using System.Linq; 
    ... 
    var nodes = GetTreeNodeCollection().OfType<TreeNode>();
    
        2
  •  0
  •   Luke Halliwell    16 年前

    是的,Windows窗体可以追溯到.NET中的泛型之前