|
|
|
Собственный класс TreeNode
|
|||
|---|---|---|---|
|
#18+
Всем добрый день! Прошу подтянуть понимание моё понимание ООП))... Мне необходимо добавить свойство в класс TreeNode типа Boolan, например, обозначающее признак двойного клика на ветке. Для этого я создал новый класс rsTreeNode , дочерний от TreeNode . Добавил новое свойство, и при создании ветки в TreeView передаю экземпляр моего класса в метод: Код: c# 1. Отсюда вопрос, теряется ли в данном случае моё новое свойство, и вообще, ветка, которую я создал в TreeView имеет тип TreeNode ? Или нужно переопределять все методы, применяемые в классе TreeView с класса TreeNode на класс rsTreeNode ? Свойство Tag использовать не охота - хочется понять сам принцип. Заранее благодарен!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:16 |
|
||
|
Собственный класс TreeNode
|
|||
|---|---|---|---|
|
#18+
Пардон, речь идёт о C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:20 |
|
||
|
Собственный класс TreeNode
|
|||
|---|---|---|---|
|
#18+
А в чем проблема то? В узлах и будет объект типа rsTreeNode, в котором будет нужное свойство. В общем случае дочерний тип без проблем приводится к родительскому. А обратное как-минимум в C# не работает. Т.е. Код: c# 1. 2. 3. 4. Кстати, rsTreeNode - какое-то некошерное имя класса, как мне кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 11:13 |
|
||
|
Собственный класс TreeNode
|
|||
|---|---|---|---|
|
#18+
Alex Marmuzevich, может и не кошерное))) в том то и дело, у меня проблема прочитать свойство своего класса, который я запихнул в TreeView, ведь все методы возвращают класс родителя. как мне прочитать мои свойства, когда класс rsTreeNode находится внутри TreeView?) таким образом я смогу прочитать? Код: c# 1. думаю, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 14:51 |
|
||
|
Собственный класс TreeNode
|
|||
|---|---|---|---|
|
#18+
Всё норм, прошел отладчиком, такой вариант возвращает корректные значения моих свойств. Хотя, мне всё же пока что не понятно, как преобразуя родителя в класс потомка можно вернуть нужные свойства, они должны быть пустыми, имхо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 15:17 |
|
||
|
Собственный класс TreeNode
|
|||
|---|---|---|---|
|
#18+
sahnovichВсё норм, прошел отладчиком, такой вариант возвращает корректные значения моих свойств. Хотя, мне всё же пока что не понятно, как преобразуя родителя в класс потомка можно вернуть нужные свойства, они должны быть пустыми, имхо)) Вообще то если совсем грубо, то создание объекта подразумевает выделение памяти под этой объект со всеми его свойствами-полями и другим рюшечками. Собственно то, что мы видим как объект, это вообще то "указатель" на область памяти, выделенную при создании этого объекта. А приведение типа вообще с этой областью памяти ничего не делаем. Так что поле пустым лишь от приведения типа стать не сможет при всём своем желании. Разве что такое может быть, если объект сериализуется-десереализуется... Но это как-бы несколько другая ситуация да и в этом случае приведение к дочернему типу выдало бы null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 15:34 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38744961&tid=1341235]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 481ms |

| 0 / 0 |
