powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Рекурсия
8 сообщений из 8, страница 1 из 1
Рекурсия
    #39130463
sanekoffice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоя на E нужно поменять все внутренние сущности имеющие ItemState;
Примерно
E.ItemState = 1
E.D.ItemState = 1
E.C.ItemState = 1

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Class A
{
ItemState state;
}

Class B : A
{
A a;
}

Class C : A
{
B b;
C c;
}

Class E : A
{
B b;
C c;
D d;
}
...
Рейтинг: 0 / 0
Рекурсия
    #39130469
sanekoffice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут смысл в том чтобы просто пробегаться по всем полям и углубляясь в них все глубже искать свойство ItemAction, меняя его на нужное.
...
Рейтинг: 0 / 0
Рекурсия
    #39130721
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanekoffice,
Про наследование что-нибудь слышали? Рекомендую.
...
Рейтинг: 0 / 0
Рекурсия
    #39130723
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что непонятно то?
Как получить список полей?
Как установить значение поля?
Как проверить что один тип унаследован от другого?
...
Рейтинг: 0 / 0
Рекурсия
    #39130744
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЧто непонятно то?
Как получить список полей?
Как установить значение поля?
Как проверить что один тип унаследован от другого?
В вашем случае спасет только рефлексия, потому, что рекурсия по классам наследования возможно только через неё, либо каждый класс должен наследовать интерфейс который будет предоставлять "механизм" для рекурсии, который в каждом классе будет определен свой.
...
Рейтинг: 0 / 0
Рекурсия
    #39130746
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и да, я не наблюдаю класса D
...
Рейтинг: 0 / 0
Рекурсия
    #39130755
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В классах, где нужно поменять чего-то там, реализовать какой-нибудь для этого интерфейс. Ну и вызвать этот метод у корневого элемента.
...
Рейтинг: 0 / 0
Рекурсия
    #39130764
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу не понял задачи ТСа. Roman Mejtes Правильно сказал. Только рефлексия поможет. Но мне кажется, с архитектурой что-то не то раз нужно задачу решать именно таким способом.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Рекурсия
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]