![]() |
Модераторы: diadiavova, gambit |
![]() ![]() ![]() |
|
Alexey2006 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 5.3.2006 Репутация: нет Всего: нет |
Интересно, есть ли в vb.net2005 возможность выполнить код содержащийся в переменной типа стринг ?
в некоторых скриптах есть такой метод как EXECUTE, который воспринимает строчку как участок кода и выполняет её. Допустим есть 50 чекбоксов и нужно проверить их состояние, имена у них следующие checkbox1..checkbox50 гораздо удобнее в цикл for вынести всю эту проверку и вот что должно получится:
или возможно есть другое решение данного вопроса? msdn ничего не дал, либо я не там искал |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Возможность есть. Как будет время - напишу код. Другой вопрос, а надо ли тебе это? Кстати, тот пример, что ты привел - это не выполнение строки, а всего лишь вызов члена по имени. Насколько я помню, это делается через Me.GetType().InvokeMember. А вот динамическое создание и компиляция кода несколько сложнее, там надо через Microsoft.VisualBasic.CompilerServices...
Добавлено @ 11:58 Тем более, твоя проблема решается созданием массива чекбоксов. |
|||
|
||||
piadmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.8.2005 Репутация: нет Всего: нет |
Exception
и расскажи, пжлста, как можно сделать массив каких - либо элементов на форме? после VB6 такого не припомню чтобы было опять реализовано... Просвети ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
FAQ рулит. http://vingrad.ru/NET-VBNET-002112 Добавлено @ 13:19 Модератор: Пожалуйста, один топик - один вопрос. |
|||
|
||||
piadmin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.8.2005 Репутация: нет Всего: нет |
Спасибо за ответ.
|
|||
|
||||
Alexey2006 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 5.3.2006 Репутация: нет Всего: нет |
ОК Спасибо!
в приницпе я именно динамическое создание интерфейса и имел ввиду, так как раньше это делал но на других языках, а вот теперь на VB тоже хотелось бы. Me.GetType().InvokeMember посмотрю, возможно это тоже пригодится Спасибо, буду ждать код, вдруг сам не разберусь ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Как я уже сказал, динамическое создание интерфейса - задача куда более простая. Просто создай массив элементов управления.
|
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
А по поводу выполнения именно строчки кода -- не получится. Либо сразу пиши IL'ом через System.Reflection.Emit, либо динамически компиль сборку с кодом в dll и запускай свой код.
|
|||
|
||||
Alexey2006 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 5.3.2006 Репутация: нет Всего: нет |
ок, Спасибо !
слово IL не о чём не говорит :-) ну да ладно, это значит ещё впереди всё |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Плохо, что не говорит
![]() IL - Intermediate Language. На самом деле сборки (программы, библиотеки) .NET компилируются не в файлы с native-кодом, непосредственно исполняемым процессором, а в промежуточный язык IL, который компилируется JIT (Just-In-Time) -компилятором прямо во время выполнения. Более подробно читай тут: http://forum.vingrad.ru/index.php?showtopic=17740 |
|||
|
||||
![]() ![]() ![]() |
Правила форума VB .NET | |
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |