![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
Приветствую!
Имеется часть кода выполняющяя всякие вычисления, результатом которых является какая-нибудь структура данных. Для примера можно рассмотреть вычисление таблицы значений нормального распределения (в принципе не важно). Результат этот не изменяется во время выполнения программы. Хотелось бы запустить этот код в момент компиляции и уже результат сериализовать, например, в ресурсы проекта, а вместо ссылки на результат, инджекнуть код который десериализует результат из ресурсов. Тем самым можно сэкономить время запуска программы (если вычисления берут много времени). Я знаю о существовании PostSharp и даже пользовался им ради интереса где не нужно. Но вот хотел послушать вашего совета. Хотелось бы оформить это в конечном итоге в виде плагина для студии. Но для начала нужно разобраться как это все будет работать. -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 1 Всего: 20 |
Можно заюзать событие Pre build event в настройках проекта. В этом событии формировать нужную тебе таблицу и засовывать в ресурсы.
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: нет Всего: 16 |
||||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
Это то да, но вопрос больше относится к тому как поменять ссылку в коде на вызов десериализатора. Сам исходный код менять, конечно не буду.
Добавлено через 3 минуты и 22 секунды Предыдущий пост адресован Artemon A5uKa, То, что в Nemerle есть макро я знаю. Как это мне поможет? -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Если структура данных представима в виде какого-нибудь текстового формата, то можно использовать текстовые шаблоны.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
diadiavova, Интересная тема не знал о таком. Правда я бы не хотел, чтобы пользователь писал шаблонами. Мне бы хотелось, чтобы он писал как всегда на C#
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Дык там и так на шарпе пишется логика, а текст, который надо вставлять как есть - вставляется как есть. Что-то наподобие того, что делается в ASP.Net, только в сильно упрощенном виде. Почитай связанные разделы повнимательнее. Кроме того существует пара плагинов для студии, для работы с шаблонами. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
ОК. гляну.
А с постшарпом кто-нибудь работал? -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Я немного баловался, но там самое интересное только в платной версии. Есть еще несколько аоп-фреймворков, некоторые из которых, имхо, заслуживают куда большего внимания. Взять например aspectDNG. В отличие от постшарпа там в самом коде вообще необязательно оставлять следы его использования, просто пишется дополнительный файл в котором описывается какой аспект куда присобачить, а так же библиотека аспектов. После компиляции проекта запускается програмка, которая патчит твою сборку и вставляет в нее код из библиотеки аспектов. И ничего не надо таскать с собой в рантайме и кроме того, если аспекты(к примеру) используются только для отладки, то для того, чтобы убрать их следы достаточно перекомпилировать проект. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |