Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Выполнение кода из текста Добавлено: 09.12.10 15:54  

Автор вопроса:  GODiDS
Суть в том что в проге нужна поддержка выполнения "скриптов"(макросов и т.п.). На сколько я понимаю, в дотнет возможно выполнение кода записанного в string, но вот как пока не разобрался. Если кто то знает, подскажите хотя бы на какие функции смотреть.

Ещё раз поясняю, есть программа, есть текстовый файлик с кодом на VB.NET, необходимо что бы программа могла заставить фрэймворк выполнить этот код (желательно что бы из кода был доступ к глобальным переменным программы, и/или он мог бы выполняться как функция, возвращающая значение в программу).

Есть идеи?

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #1 Добавлено: 09.12.10 16:09
Есть, это возможность называется Code DOM.
Через CodeDOM строка компилируется в сборку, сборка загружается в домен.

Ответить

Номер ответа: 2
Автор ответа:
 GODiDS



Вопросов: 1
Ответов: 7
 Профиль | | #2 Добавлено: 09.12.10 16:18
Ага... Спасибо, будем рыть в сторону CodeDOM.

Если будут ещё варианты, а ещё лучше примеры, пишите.

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 09.12.10 16:30
http://msdn.microsoft.com/ru-ru/library/650ax5cx.aspx

Ответить

Номер ответа: 4
Автор ответа:
 GODiDS



Вопросов: 1
Ответов: 7
 Профиль | | #4 Добавлено: 09.12.10 16:44
Artyom, EROS,
Спасибо, понял что в CodeDOM разбираться нужно. Только на мсдн'е с примерами туговато, щас поищу, но если у кого есть простой пример, скиньте.

Ответить

Номер ответа: 5
Автор ответа:
 GODiDS



Вопросов: 1
Ответов: 7
 Профиль | | #5 Добавлено: 09.12.10 16:50
Вот что нарыл(вроде бы то что нужно):
http://www.codeproject.com/KB/dotnet/VBRunNET.aspx

И вот ещё примерчик, правда уже не совсем то что мне нужно, но тоже интересно:
http://www.codeproject.com/KB/dotnet/CompilingWithCodeDom.aspx

Ответить

Номер ответа: 6
Автор ответа:
 GODiDS



Вопросов: 1
Ответов: 7
 Профиль | | #6 Добавлено: 09.12.10 16:56
Вот ещё примерчик:
http://vbcity.com/blogs/jatkinson/archive/2010/04/24/dynamically-read-compile-and-run-source-code-from-a-text-file.aspx

Ещё раз благодарю Artyom и EROS за подсказки.

Ответить

Номер ответа: 7
Автор ответа:
 GODiDS



Вопросов: 1
Ответов: 7
 Профиль | | #7 Добавлено: 09.12.10 17:03
Ну и вот ещё отличный примерчик по теме:
http://blogs.msdn.com/b/saveenr/archive/2009/08/11/a-walkthrough-of-dynamically-compiling-c-code.aspx

Ответить

Номер ответа: 8
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #8 Добавлено: 09.12.10 21:00
Предпочитаю всё делать вручную)))

Ответить

Номер ответа: 9
Автор ответа:
 GODiDS



Вопросов: 1
Ответов: 7
 Профиль | | #9 Добавлено: 09.12.10 21:28
UnDeAdZak, это вы к чему?

Ответить

Номер ответа: 10
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #10 Добавлено: 09.12.10 22:20
это он будет парсить типа как if CodeLine(374) = "If <condition> = <expression> Then" Then ... -_-

Ответить

Номер ответа: 11
Автор ответа:
 GODiDS



Вопросов: 1
Ответов: 7
 Профиль | | #11 Добавлено: 10.12.10 00:36
if CodeLine(374) = "If <condition> = <expression> Then" Then
=)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам