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

为什么是系统中的配对。网状物。UI?

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

    至少对我来说,结对课是一门非常多用途的课。那么,微软为什么要把它放进系统中呢。网状物。UI命名空间?

    有什么原因让我的大脑无法理解吗?

    谢谢。

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

    它用于序列化视图状态(以及它的表亲Triplet)。

    我猜测,它们不是基础库的一部分(即使它们没有任何特定于ASP.NET的特性)的原因是它们不是很有用,因为它们是无类型的。

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

    不过,类型化元组可能很有用(我认为F#也有)。我认为匿名类型涵盖了异构元组的大部分用例。

        2
  •  5
  •   JacquesB    16 年前

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

    MSDN表示,就其“预期用途”而言

    [The 一对 class]是一个在整个ASP中以各种方式使用的实用程序类。NET,例如在页面状态管理任务期间或在配置节处理程序中。
    ...
    这个 一对 类可以在页面状态持久化实现中以多种方式使用。最常见的用途是作为两者的容器 ViewState ControlState 收藏。在这种情况下 First 该物业用于 对象 ,以及 Second 控制状态 .

        3
  •  3
  •   Ian Newson    13 年前

    这并没有直接回答问题,但在。NET 4你可以,也可能应该使用 Tuple .

    为了回答这个问题,我认为将Pair放入系统中只是一个错误。网状物。UI和Microsoft已尝试通过引入Tuple类来解决此错误。

        4
  •  0
  •   mmcgregor    16 年前

    上帝保佑,我们不应该有一个比字典轻的类型化配对,并且可以在类型化列表中被盗用,这样它就可以被索引:)。当然,创建其中一个是无痛的,但为什么呢。

    推荐文章