Я в настоящее время разрабатывает серверный элемент управления, который должен быть выполнен с помощью списка пар ключ/значение, например:Могу ли я использовать тип словаря как свойство (persistet) настраиваемого серверного элемента управления?
<MyControls:ContentRenderer ID="ContentRenderer1" runat="server">
<MyControls:Placeholders>
<MyControls:Placeholder key="ident1">Some text which replaces {ident1}</MyControls:Placeholder>
<MyControls:Placeholder key="ident2">Some text which replaces {ident2}</MyControls:Placeholder>
</MyControls:Placeholders>
<MyControls:ContentRenderer />
Я хочу, чтобы это свойство, чтобы быть словарем, чтобы я мог быстро получить шаблонные отображения по их идентификатор. Я знаю, как создать свойство, которое сохраняется с вышеуказанной разметкой, используя класс List < T>, но я хотел бы иметь структуру данных, похожую на хэш-карту.
Я прочитал много материала в msdn, но до сих пор не знаю, что делать, если вы хотите полностью контролировать то, как обрабатывается ваша контрольная разметка.
Итак, в сущности, вы предлагаете хранить каждый элемент в двух разных объектах? Я вижу, как это работает, но это действительно уродливое решение. – binford
Да, это уродливое решение, но это единственный, который вы получили, если хотите использовать формат словаря. Вам не обязательно сохранять контроль дважды; вы также можете сохранить имя в качестве ключа, а затем индекс в списке как значение, так что это не будет хранить один и тот же элемент управления дважды. –