|
Проблема с наследованием
|
|||
---|---|---|---|
#18+
Что-то я туплю. После шарпов забыл вб. :( Есть базовый класс: BaseClass.cls Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
И два наследника: AnsiText.cls Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
UnicodeText.cls Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Я хочу задать им свойства в зависимости от типа класса: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Но оно вообще не компилируется. Ругается на строке obj.AnsiText = "ANSI" --> Method or data member not found! Как тут сделать правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:08 |
|
Проблема с наследованием
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:13 |
|
Проблема с наследованием
|
|||
---|---|---|---|
#18+
... as Object ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:16 |
|
Проблема с наследованием
|
|||
---|---|---|---|
#18+
А какой тип должен быть у obj ? Если Object то не очень удобно, нет выпадающих списков в редакторе ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:17 |
|
Проблема с наследованием
|
|||
---|---|---|---|
#18+
сам же значешь , что только через tlb и интерфейс ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 15:17 |
|
Проблема с наследованием
|
|||
---|---|---|---|
#18+
Eolt, странная реализация наследования реализации :) Как технический момент - зачем члены, которые должны быть реализованы в рамках implements, означены как public? Для удобства же использования ещё обычно делают тривиальные функции, кастующие к нужному типу: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
То есть в месте использования будет: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Ну и, вместо TypeName использовать TypeOf ... Is. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 16:21 |
|
Проблема с наследованием
|
|||
---|---|---|---|
#18+
Интерфейс IBaseClass: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
CAnsiText: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
CUnicodeText: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Использование: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 11:13 |
|
|
start [/forum/topic.php?fid=60&msg=39764907&tid=2154953]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 270ms |
total: | 410ms |
0 / 0 |