![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Wanderer2019 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
Всем привет!
Задался вот написать свой класс... Естессьно стал смотреть на реализацию уже имеющихся во Framework`e. Столкнулся со следующим... Есть множество классов имеющих в качестве свойств коллекции объектов. Например:
, где Items - некоторое свойство... соответсвенно для добавления Item`ов есть метод - Add т.е.
Никак не могу разобраться как же реализовать такую архитектуру... Например описал класс MyObject, где в качестве свойства описал Items
каким образом описать метод Add??? Всем спасибо! |
||||||
|
|||||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Такую??? Бред какой-то. Получается твой класс --- коллекция объектов, тип которых твой класс. Т.е. Он и контейнер, и элемент этого контейнера. Это конечно возможно сделать. Но вот только зачем? Пример:
|
|||
|
||||
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
нет нет .. сорри неправильно...
что то типа
уже вроде разобрался... вот здесь нашел примеры: MSDN |
|||
|
||||
| Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: 5 Всего: 13 |
Дык в фрэймворке уже и так полно таких классов. В System.Collections
-------------------- ![]() |
|||
|
||||
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
в кое чем разобрался.....
по ходу кодинга возник еще вопрос.... Как реализуется такая логика:
как сделать так чтобы эелементы коллекции ссылались на своего родителя? на данный момент есть только одна идея - тащить всюдорогу с собой экземпляр класса MainObject Спасибо за советы! Это сообщение отредактировал(а) Wanderer2019 - 12.9.2006, 15:53 |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Тебе же сказали. Есть уже всё готовое. Наследуешься, скажем, от List<MyObject> и добавляешь туда ссылку на нужный тебе главный объект.
|
|||
|
||||
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
||||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Да, да, да В методе Add выставляешь эту пропетю на объект в котом этот Add вызывается. У верхнего объекта ссылка на парент нулевая (Parent = null |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Другого способа получить из объекта ссылку на логически вышестоящий нет, только храня ссылку на него.
-------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |