Новая фича (надеюсь, последняя) - макрос Resource
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.02.10 02:02
Оценка:
Всем привет.

Добавил реализацию
Автор: Aen Sidhe
Дата: 23.05.08
макроса генерирующего обертку для ресурсных файлов реализованную Aen Sidhe-ом.

Для ее корректной поддержки в Интеграции пришлось так же добавить:
1. Параметр компилятора /project-path:коревой-каталог-проекта и соответствующий ключ MSBuild task — ProjectPath.
2. Параметр компилятора /root-namespace:имя-главного-пространства-имен и соответствующий ключ MSBuild task — RootNamespace.
3. Обновление дерева типов при записи ресурсных файлов.

Использование очень простой:
1. В любой файл проекта помещаем атрибут:
[assembly: Nemerle.Macro.Resource("ИмяФайла.resx")]

2. Добавить в корень проекта ресурсный файл формата .resx с именем совпадающим с именем указанным в атрибуте на предыдущем шаге.
3. Заполнить и записать ресурсный файл.
4. Использовать модуль ИмяФайла (т.е. указанное в атрибуте и совпадающее с именем файла) в нужном участке кода. Для каждого имени ресурсного файла будет добавлено свойство с таким же именем.

Пункты 3-4 можно повторять по вкусу.

В проекты типа Windows Application, Wpf Application и Console Application в файл AssemblyInfo.n добавлен атрибут:
[assembly: Nemerle.Macro.Resource("Resources.resx")]

так что если добавить в проект файл Resources.resx, то он автоматически подхватится. Файл с таким именем создается VS автоматически, если в свойствах проекта выбрать закладку Resources и нажать там ссылку "создать дефолтный ресусный файл что-то-там...". Именно по этому отсутствие Resources.resx игнорируется макросом. В ином случае будет выдаваться сообщение об ошибке.

Просьба потестировать функциональность.

Если кто-то опишет макрос в вики — я буду очень признателен.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.