Всем привет.
Добавил
реализациюАвтор: 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 игнорируется макросом. В ином случае будет выдаваться сообщение об ошибке.
Просьба потестировать функциональность.
Если кто-то опишет макрос
в вики — я буду очень признателен.