![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| ZUBR80 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 17.5.2005 Репутация: 1 Всего: 2 |
Подскажите, какие атрибуты BindingFlags надо указать при вызове Activator.CreateInstance, чтобы вызвать Private или Friend Sub New.
Вообще что-то странное. Вот такой код вызывает Public Sub New: Activator.CreateInstance(GetType(Т)) , а вот такой не вызывает: Activator.CreateInstance(GetType(ТипУнификатора), Reflection.BindingFlags.CreateInstance) Я уже замучался System.MissingMethodException |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: нет Всего: 232 |
Sub - это метод (процедура в VB.NET), для получения метода из типа нужно дёргать Type.GetMethod. Метод CreateInstance возвращает экземпляр типа, созданного по reflection, и BindingFlags в нём используется для указания параметров класса, а не метода. -------------------- ![]() |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
mr.DUDA, ни-ни) Sub New в VB .NET - это конструктор, так что все он правильно делает..
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: нет Всего: 232 |
Странно. Такой вот код работает:
-------------------- ![]() |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
А с Private Sub New работает?
P.S. С такими вопросами обращаться надо в раздел по VB .NET или хотя бы указывать язык разработки.. |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Погоди-ка. Private-конструктор у тебя точно вызвать не выйдет )) А зачем?
|
|||
|
||||
| ZUBR80 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 17.5.2005 Репутация: 1 Всего: 2 |
Вот этот код работает:
Т.е. в принципе можно вызвать приватный конструктор. Видимо глюк при работе Activator.CreateInstance :о( Это сообщение отредактировал(а) ZUBR80 - 27.1.2006, 14:12 |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Блин. Молодец, что вспомнил про альтернативный способ вызова конструктора
+1 |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |