Я работаю над приложением для редактирования пар имя/значение, используя сетку свойств. Некоторые свойства в моем файле класса - коллекции ListDictionary. Есть ли атрибут редактора, который я могу применить в объявлении свойства, который заставит Редактор коллекции работать во время выполнения? Если нет, можно ли наследовать от ComponentModel.Design.CollectionEditor для использования во время выполнения? Мне нужно добавить, удалить и отредактировать значения коллекции. Большое спасибо, ТерриРедактор коллекции во время выполнения
ответ
Я думаю, что эта статья объясняет, что вам нужно: How to Edit and Persist Collections with CollectionEditor
из Codeproject статьи [http://www.codeproject.com/KB/cs/dzcollectioneditor.aspx][1]
Есть три требования, которым коллекция должна соответствовать, чтобы быть успешно сохранился с CollectionEditor:
- Во-первых, коллекция должна реализовывать интерфейс IList (наследующий от System.Collections.CollectionBase в большинстве случаев лучший вариант).
Во-вторых, он должен иметь свойство Indexer (Item in VB.NET). Тип это свойство используется CollectionEditor, чтобы определить тип по умолчанию экземпляров, которые будет добавлять в коллекцию.
Чтобы лучше понять, как это работает, взгляните на GetItemType() функции CustomCollectionEditorForm:.
защищенный виртуальный тип GetItemType (IList Coll) { PropertyInfo пи = coll.GetType() GetProperty («Элемент», новый Тип [] {typeof (int)}); вернуть pi.PropertyType }
В-третьих, класс коллекции должен реализовать один или оба из следующих методов: Добавление и AddRange. Хотя IList интерфейс имеет элемент Add и CollectionBase реализует IList, вы до сих пор реализовать метод Add для вашей коллекции, учитывая, что CollectionBase объявляет явную реализацию члены Добавить участника в IList в. Дизайнер сериализует коллекцию в соответствии с тем, какой метод вы реализовали . Если вы установили , то AddRange имеет значение .
В этой статье вы найдете все, что необходимо для реализации вашей коллекции на сетке свойств
- 1. Коллекции серверов, заполняющих клиента во время выполнения
- 2. Backbone.js индикатор выполнения во время сбора коллекции
- 3. Редактор коллекции в рамках пользовательского контроля во время разработки
- 4. Есть ли редактор столбцов Listview для использования во время выполнения?
- 5. Редактор узла, добавляющий дочерний QWidget другой QWidget во время выполнения
- 6. Как добавить источник данных в Редактор поиска во время выполнения?
- 7. Ошибка доступа к MS - редактор VBA появляется во время выполнения
- 8. Как зарегистрировать редактор компонентов и свойств во время выполнения?
- 9. Настройка UICollectionViewCellSize во время выполнения
- 10. Прерывание во время исполнения во время выполнения
- 11. Задание типичного типа коллекции param во время выполнения (Java Reflection)
- 12. Задание общих типа коллекции паров во время выполнения
- 13. Укажите имя коллекции MongoDb во время выполнения загрузки Spring
- 14. Изменение коллекции MongoDB во время выполнения в symfony2 + doctrine
- 15. Нежелательная загрузка свойств коллекции во время выполнения запроса
- 16. создание столбца во время выполнения во время выполнения sql-запроса
- 17. Дженерики во время выполнения
- 18. Списка во время выполнения
- 19. Кнопка во время выполнения
- 20. подталкивания во время выполнения
- 21. Ошибка во время выполнения
- 22. java.lang.ArrayIndexOutOfBoundsException во время выполнения
- 23. Нарезка во время выполнения
- 24. Изменения во время выполнения
- 25. UnsatisfiedLinkError во время выполнения
- 26. GridView во время выполнения
- 27. класса во время выполнения
- 28. массива во время выполнения
- 29. Настройки во время выполнения
- 30. java.lang.ClassCastException во время выполнения