![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
WSairus |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
Доброе время суток, прошу подсказать не слишком сложное решение для следующей задачи: нужно из программы на C# обрабатывать текстовые шаблоны, при этом используя значения переменных и еще некоторые синтаксические фишки. Файл должен быть внешним и загружаться по выбору. В шаблоне могут использоваться логические выражения, циклы, блоки - минимальный набор языка программирования. Пример шаблона:
Соответственно в программе:
Вроде есть генератор T4, но как загрузить произвольный файл я не разобрался. Есть ли готовые решения для подобных задач. |
||||
|
|||||
gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
Посмотри на хабре статья была, про юзание razor в отрыве от mvc
Добавлено через 23 секунды http://habrahabr.ru/post/173923/ |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Да собственно вот тема
http://msdn.microsoft.com/en-us/library/bb126519.aspx Но это возможно там, где на компе студия установлена, отдельно от студии движок вроде не поставляется. Есть поддержка T4 в SharpDevelop и MonoDevelop, в силу оупенсорсности проектов их библиотеки использовать можно, но насчет туториалов по поводу того, как это сделать, ничего сказать не могу, возможно придется разбираться методом научного тыка. Из общедоступных инструментов могу порекомендовать XSLT, во фреймворке есть все для обработки этого языка, а возможности у него очень неплохие, к тому же его расширять кодом можно, в том числе на C#. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Вдогонку
http://community.sharpdevelop.net/blogs/ma...arpDevelop.aspx http://mjhutchinson.com/journal/2010/05/03...tes_monodevelop -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
WSairus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
gambit, большое спасибо. Использовал это решение - работает идеально. Только велосипедов делать не стал, а использовал RazorEngine - компиляция и выполнение в 1 строку кода + поддержка многопоточности.
diadiavova, проблема была в том, что нужно загружать внешний файл и обработать его уже после компиляции. Как это сделать - я не разобрался, да и синтаксис у Razor намного компактнее. |
|||
|
||||
diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Моя первая ссылка была как раз об этом, там дальше есть ссылка на пошаговое руководство http://msdn.microsoft.com/en-us/library/bb126579.aspx
Ну, если вариант Гамбита устроил - хорошо, я просто предложил варианты. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||
|
|||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |