代码之家  ›  专栏  ›  技术社区  ›  John MacIntyre

为什么在system.web.ui中是这对?

  •  6
  • John MacIntyre  · 技术社区  · 16 年前

    至少对我来说,结对课是一门多用途的课。那么,为什么微软要将它放到system.web.ui名称空间中呢?

    我的小脑袋有什么不能理解的原因吗?

    谢谢。

    4 回复  |  直到 12 年前
        1
  •  3
  •   bdukes Jon Skeet    16 年前

    我不认为你会找到一个很好的理由。似乎它是由Web团队首先创建的,所以他们在自己的名称空间/程序集中创建了它。他们还添加了 LinkDemand 对于 AspNetHostingPermission 这是不幸的。

    就其“预期用途”而言,msdn说

    [ 一对 class]是一个实用程序类,在整个ASP.NET中以各种方式使用,例如在页状态管理任务期间或在配置节处理程序中。

    这个 一对 类可以在页状态持久性实现中以多种方式使用。最常见的用途是作为 ViewState ControlState 收藏。在这种情况下, First 属性用于 对象 Second 对于 控制状态 .

        2
  •  5
  •   JacquesB    16 年前

    它用于序列化viewstate(以及它的兄弟三元组)。

    我想他们不是基础库的一部分(即使没有特定于ASP.NET的内容)的原因是他们不是非常有用的,因为它们是非类型化的。

    在基础库中包含非类型化的对和三元组,可能被视为鼓励“无类型”编程。

    不过,类型化的元组可能很有用(我认为f有它们)。不过,我认为匿名类型涵盖了异构元组的大多数用例。

        3
  •  3
  •   Ian Newson    13 年前

    这不会直接回答问题,但在.NET 4中,您可以,也可能应该使用 Tuple .

    为了回答这个问题,我认为在system.web.ui中放置pair是一个简单的错误,微软已经尝试通过引入tuple类来解决这个错误。

        4
  •  0
  •   mmcgregor    15 年前

    上帝保佑,我们应该有一个比字典更轻的类型对,并且可以嵌入到类型列表中,这样它就可以索引了:)。当然,创造其中一个是无痛的,但为什么。