|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
Суть: Создала формы frmMenu, frmAccess, frmAdmin, frmOpaopa и т.д. Все они унаследованы от Form. Финт такой - я хочу передать в некоторую функцию RunForm не объект, а прямо класс Код: c# 1. 2. 3. 4. 5. 6.
, и функция RunForm должна вызвать уже конструктор этой формы и отобразить её. либо передать в некоторую функцию void RunForm(Form ff) созданный объект Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Пыталась сформулировать вопрос, как могла... Прошу вашей помощи в превращении псеводкода в код ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 12:00 |
|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
Однократное открытие формы не в диалоговом режиме можно идею взять из этого обсуждения ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 12:16 |
|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
Изопропил Однократное открытие формы не в диалоговом режиме можно идею взять из этого обсуждения нее, по-большому счёту, в общем случае, каждую форму у меня можно открыть многократно. В противном случае я использую одиночку (singleton) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 12:44 |
|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
я бы использовала * ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 12:44 |
|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
Nika gnome, гы гы как это класс? может тип? это делается просто void RunForm<T>() where T : Form, new() ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 12:55 |
|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
Nika gnomeв общем случае, каждую форму у меня можно открыть многократно. ну тогда как-то так можно (хотя я бы так не делал) Код: c# 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. 27. 28. 29.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 14:40 |
|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
мимими пасиба!!!)) прямо вот на все 146% то, что нужно!! а, не, 145, одного не хватает: как вызывать последнюю функцию? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 16:24 |
|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
Nika gnome, починить нужно третью - заменить соотв строку на if (formType != null && formType.IsSubclassOf(typeof(Form))) Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 17:11 |
|
Как вызвать конструктор у унаследованного класса, если я знаю его базовый тип?
|
|||
---|---|---|---|
#18+
Nika gnome, RunForm(typeof( formType)); или RunForm(RealForm.GetType() ); ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 17:11 |
|
|
start [/forum/topic.php?fid=20&fpage=104&tid=1402291]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 347ms |
total: | 464ms |
0 / 0 |