c# - 为什么使用 SomethingCollection 而不是 Collection<Something>?

标签 c# .net winforms ienumerable

在 .NET Framework 中,有一些使用 SomethingCollection 的类语法。

例如,处理SqlCommand时, 它有一个参数 Parameters类型 SqlParameterCollection .因为它没有 IEnumerable<SqlParameter> 的形式(或 IList<SqlParameter> 或类似的东西),不可能写成:

foreach (var c in sqlCommand.Parameters)
{
    Debug.WriteLine(string.Concat(c.ParameterName, ": ", c.Value));
}

相反,var必须用明确的 SqlParameter 代替.

在处理 Windows 窗体控件( ListView 项的集合等)时非常相似,并且存在于其他类中。

这是什么东西?为什么存在并使用此类类而不是通用类 IEnumerable s/IList是吗?

最佳答案

.NET API 公开的许多集合是在 .NET 2.0 之前设计的,因此,在泛型可用之前。

关于c# - 为什么使用 SomethingCollection 而不是 Collection<Something>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4039144/

相关文章:

c# - 使用 Func<>(或 Action<>)或创建自己的委托(delegate)?

c# - 在 Open XML SDK 中的单词书签后插入 OpenXmlElement

c# - 如何在 WinForms 中捕获 Insert+Tab 的组合?

c# - ThreadStart返回值?

c# - 将 asp.net MVC 从 5.0.0-beta2 更新到 5.0.0-rc1

C# 数据验证设计模式

c# - 基于相似性比较字符串

c# - Silverlight 文本 block 中的新行

c# - .NET - 用户控件拖放 - 子控件

.net - 如何将控件拖放到用户控件的面板上?