![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
htzg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.4.2010 Репутация: нет Всего: нет |
Доброго времени суток!
Хочу встроить в свое приложение возможность компилировать код на C# и VB "на лету". Как это сделать я понял:
Не понятно следующее: в моем приложении будет один экземпляр класса Project, который будет иметь имя project. Все изменения в приложении будут осуществляться через методы project. Как сделать так что бы пользователь написав код в блокноте и запустив его генерацию через мое приложение, внес изменения в этот самый экземпляр Project project? Например воспользовался методом Clear() или т.п. Как внести изменения в project с помощью "макроса" на CS или VB? Спасибо! |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Код, который напишет пользователь, надо будет компилировать в сборку. К примеру код макроса будет оформлен в отдельный класс, в этом классе создай поле project, которое надо будет инициировать из конструктора, сам конструктор получит ссылку через параметр. Вот к этому полю пусть пользователь и обращается. Когда пользовательский код будет скомпилирован, то уже из своего проекта создавай экземпляр класса с пользовательским кодом и попутно передавай ссылку на экземпляр проекта конструктору класса.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
htzg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.4.2010 Репутация: нет Всего: нет |
Интерпретировал:
Однако при выполнении выходит сообщение: ![]() ![]() Как подключить Project namespace ? |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
htzg, прожектнаймспэйс подключается так же, как ты это сделал с систем. Сначала при компиляции добавь референс на сборку с классом проекта, а в коде используй соответствующий юзинг.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
htzg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.4.2010 Репутация: нет Всего: нет |
Исправил.
Создал dll и подключил:
Что то не нравится аргумент: ![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
htzg, Экземпляр ты создаешь предыдущей строкой кода
Добавлено через 33 секунды И кстати, криэйтинстэнс тербует полного имени типа с пространством имен. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
htzg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.4.2010 Репутация: нет Всего: нет |
То что надо!
![]() Спасибо! ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |