Почему пара в System.Web.UI? - PullRequest
       31

Почему пара в System.Web.UI?

6 голосов
/ 03 декабря 2008

По крайней мере, для меня класс Pair - это многоцелевой класс. Так почему же Microsoft поместила его в пространство имен System.Web.UI?

Есть ли причина, по которой мой крошечный мозг не может постичь?

Спасибо.

Ответы [ 4 ]

5 голосов
/ 03 декабря 2008

Используется для сериализации viewstate (вместе с его двоюродным братом Triplet).

Я бы предположил, что причина, по которой они не являются частью базовой библиотеки (хотя в них нет ничего специфичного для ASP.NET), заключается в том, что они не очень полезны, поскольку они не типизированы.

Включение нетипизированной пары и триплета в базовую библиотеку может рассматриваться как поощрение "несимметричного" программирования.

Однако типизированный кортеж может быть полезен (и я думаю, что в F # они есть). Я думаю, что анонимные типы покрывают большинство случаев использования гетерогенных кортежей.

3 голосов
/ 06 декабря 2011

Это не дает прямого ответа на вопрос, но в .NET 4 вы можете и, вероятно, должны использовать Tuple .

Чтобы ответить на этот вопрос, я считаю, что было просто ошибкой помещать Pair в System.Web.UI, и Microsoft попыталась исправить эту ошибку с введением класса Tuple.

3 голосов
/ 03 декабря 2008

Не думаю, что вы найдете вескую причину. Кажется, что он был впервые создан веб-командой, поэтому они сделали это в своем пространстве имен / сборке. Они также добавили LinkDemand для AspNetHostingPermission , что вызывает сожаление.

В терминах «ожидаемого использования» MSDN говорит:

[ Pair class] - это служебный класс, который используется в ASP.NET различными способами, например, во время задач управления состоянием страницы или в обработчиках раздела конфигурации.
...
Класс Pair можно использовать несколькими способами в реализациях сохранения состояния страницы. Наиболее часто используется как контейнер для коллекций ViewState и ControlState . В этом случае свойство First используется для ViewState , а Second для ControlState .

.
0 голосов
/ 24 февраля 2009

Не дай Бог, у нас должна быть типизированная пара, которая легче словаря и может быть включена в типизированный список, чтобы ее можно было индексировать :). Конечно, создание одного из них безболезненно, но почему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...