Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Создание файла *.resx программными средствами

Создание файла *.resx программными средствами

Как было отмечено выше, файл *.resx содержит XML-данные, представляющие пары имен и значений для каждого ресурса приложения. Класс ResXResourceWriter предлагает набор членов, с помощью которых вы можете создать файл *.resx, добавить в него двоичные и строковые ресурсы и сохранить их. Для примера мы создадим простое приложение (ResXWriter), которое будет генерировать файл *.resx, содержащий информацию, необходимую для загрузки файла happyDude.bmp (впервые упомянутого в примере DraggingImages) и некоторого строкового ресурса. Графический интерфейс пользователя будет образован единственным типом Button (рис. 20.22).


Рис. 20.22. Приложение ResX

Обработчик события Click для Button добавляет happyDude.bmp и строковый ресурс в файл *.resx, который сохраняется на локальном диске C.

private void btnGenResX_Click(object sender, EventArgs e) {
 // Создание объекта, записывающего данные resx,
 // и указание файла для записи.
 ResXResourceWriter w = new ResXResourceWriter(@"C:ResXForm.resx");
 // Добавление изображения и строки.
 Image i = new Bitmap ("happyDude.bmp");
 w.AddResource("happyDude", i);
 w.AddResource("welcomeString", "Приветствие формата ресурсов");
 // Фиксация файла.
 w.Generate();
 w.Close();
}

Здесь наибольший интерес представляет собой член ResXResourceWriter.AddResource(). Этот метод является перегруженным, чтобы вы имели возможность вставить как двоичные данные (такие, как изображение happyDude.bmp), так и текстовые (наподобие указанной выше строки). Обратите внимание на то, что каждый из вариантов предполагает использование двух параметров: имени соответствующего ресурса в файле *.resx и непосредственно данных. Метод Generate() фиксирует информацию в файле. В результате вы получаете XML-описание ресурсов изображения и строки. Для проверки откройте новый файл ResXForm.resx с помощью текстового редактора (рис. 20.23).


Рис. 20.23. XML-представление *.resx

Оглавление книги


Генерация: 1.137. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз