Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
Как сделать свою универсальнуюю коллекцию (чтобы она могла содержать объекты любого типа)? Что-то на подобии ArrayList, но чтобы она реализовывала интерфейс IBindingList. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 18:37 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
А что вам не хватает? Пишите класс, который инкапсулирует ArrayList и имплементирует IBindingList и дело в шляпе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 18:43 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
дело в том что я прообовал это сделать но у меня не получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 18:50 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
А чем вам DataTable не угоден? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2004, 19:21 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
Зачем задавать глупые вопросы, мне нужна своя коллекция в которой мне нужно хранить объекты каких-то пользовательских классов, а ArrayList плохо дружит с DataGrid. Например, при добавлении нового объекта в ArrayList DataGrid не реагирует на изменения и не обновляет выводимую информацию, и кроме этого выдает какие-то непонятные ошибки связаные с неправильным индексом и т.д. В MSDN есть пример, который показывает как создать свою коллекцию унаследовануюю от CollectionBase и IBindingList. Этот пример я пробоваол, и он у меня работает (DataGrid хорошо обновляет выводимую информацию при добавлениии/удалении объектов в эту коллекцию), но дело в том что эта колекция строго типизирована в ней можно хранить объекты определенного типа, что мне не подходит, т.к. мне один раз надо хранить объекты одного типа в другой раз объекты другого типа. Как этого добиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 09:26 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
ignaci... но дело в том что эта колекция строго типизирована в ней можно хранить объекты определенного типа, что мне не подходит, т.к. мне один раз надо хранить объекты одного типа в другой раз объекты другого типа. Как этого добиться? А что за беда? Делаешь потомка CollectionBase с перечеслимым типом Object и она сразу же становится не такой уж "строго типизированной"... типа так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 10:18 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
qu-quДелаешь потомка CollectionBase с перечеслимым типом Object Можна маленькую консультацию по перечислимому типу Object. Дело в том что я пытаюсь писать на управляемом C++, и пока вроде такого типа не встречал, может быть что он есть только в С# (хотя не думаю, должно быть и в C++). Есть конечно базовый сласс Object, но это далеко не переслимый тип, это вроде класс с методами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 10:46 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
ignaciбазовый сласс Object, но это далеко не переслимый тип, это вроде класс с методами. Базовый, базовый... какой же еще... (ну, извини, неудачно фразу построил). Имело ввиду то, что любая коллекция содержит в себе перечисление экземпляров определенного типа (базового класса, или пользовательского - не важно). Во всех примерах "имплементации" CollectionBase как правило показывается создание внутреннего "энумератора" со "строгим типом" объектов, хранящихся в этой коллекции, например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Я предложил - заменить такую "строгую" типизацию на более "мягкую", т.е. писать в CollectionBase "массив" экземпляров типа Object, при этом правила "имплементации" класса CollectionBase не нарушаются (т.к. он по-честному хранит экземпляры одного типа Object), зато появляется возможность в разное время "пихать" туда разные другие типы, которые так или иначе все равно "происходят" от того же Object... Вот и все... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 13:14 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
В коллекции лучше коллекционировать какой-то базовый класс, возможно даже номинальный, тогда не будет проблем с сериализацией. Я столкнулся с этим для интерфейсов. Думаю, что Object тоже не самый лучший выбор, из-за этого же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 13:32 |
|
||
|
Как сделать свою универсальнуюю коллекцию?
|
|||
|---|---|---|---|
|
#18+
в мсдн есть пример типизированной коллекции, реализующей IBindingList (там же, где и описание интерфейса этого) ms-help://MS.MSDNQTR.2003APR.1033/cpref/html/frlrfsystemcomponentmodelibindinglistclasstopic.htm Это локальный адресс, на msdn.microsoft.com нет примера. В примере часть методов не реализована (сортировка, фильтрация) - самому придётся... Если не получится - можно подстмотреть где-нибудь. В DevExpress eXpress Persistent Object например :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2004, 18:37 |
|
||
|
|

start [/forum/topic.php?fid=20&fpage=1022&tid=1439037]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 398ms |

| 0 / 0 |
