Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 187

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 181 182 183 184 185 186 < 187 > 188 189 190 191 192 193 .. 320 >> Следующая

• использовать утилиту resgen.exe для преобразования файла *.resx в формате XML в его двоичный эквивалент (файл *.resources);
• использовать для компилятора С# параметр /resource (или сокращенно' res) для вложения ресурсов непосредственно в сборку.
При использовании IDE Visual Studio.NET все эти операции выполняются автоматически. Однако мы останемся верны нашим традициям и вначале проделаем все операции вручную, а затем уже узнаем, как то же самое можно сделать при помощи Visual Studio.
462 Глава 9 Графика становится лучше (GDI+)
Пространство имен System.Resources
Ключ к использованию форматов ресурсов 11' заключается в понимании роли типов пространства имен System.Resources. Эти типы позволяют работать как с файлами *.resx в формате XML, так и с двоичными файлами ".resources. Перечень наиболее важных типов представлен в табл. 9.28.
Таблица 9.28. Типы пространства имен System.Resources Тип- Назначение
IResourceReader IResourceWriter
Resource Reader ResourceWriter
ResXResourceReader ResXResourceWriter
ResourceManager
Эти интерфейсы реализуются типами, обеспечивающими чтение и запись ресурсов .NET (в самых разных форматах). Реализовывать эти интерфейсы самостоятельно стоит лишь в той ситуации, когда требуется создать свой собственный пользовательский класс для чтения и записи ресурсов. В большинстве случаев достаточно использовать типы, представленные ниже, в которых эти интерфейсы уже реализованы
Эти классы, реализующие интерфейсы IResourceReader и IResourceWriter,. обеспечивают чтение и запись в двоичные файлы ресурсов .NET (*. resources)
Эти классы также реализуют интерфейсы IResourceReader и IResourceWriter. Они обеспечивают чтение и запись в файлы ресурсов в формате XML (*.resx). Файлы ресурсов в формате XML могут быть преобразованы в двоичные файлы .NET при помощи утилиты resgen.exe
Обеспечивает удобный и простой доступ к ресурсам, зависящим
от естественного языка (BLOB, текстовые строки) во время выполнения
Создание файлов *.resx программным образом
Файлы *,resx - - это файлы в формате XMIкоторые содержат ресурсы для нашей сборки. Ресурсы в них представлены в виде пар имя — значение. Создание файлов *.resx, добавление в них двоичных и текстовых ресурсов, а также их сохранение производится при помощи класса ResXResourceWriter. Проиллюстрируем его использование на примере.
I ірсл'іоложим,что наша задача — создать файл *.resx с двумя ресурсами: изображением happy.bmp, с которыммыужеработалинапротяженииэтой главы, итек-стовой строкой. Графический интерфейс нашего приложения будет предельно
простым (рис. 9.29).
ШШЕШ^ШШШШШШк. JsI uJ
Add !коше» to '.!«и fie
Read "ies* I'M
_;_;_:
Рис. 9.29. Интерфейс пользователя для нашего приложения
Пространство имен System.Resources 463
Вся работа по записи ресурса в файл будет выполняться в обработчике события П ick для верхней кнопки нашего приложения. Его код может выглядеть следующим образом:
protected void btnfekePesxFi'e l^ickiobjeet sender. System. EvsntArgs e) {
Il Создаем объект ResXResourceWriter и указываем файл, в который будет // производиться запись
ResXResourceWriter w = new ResXRssourceWriter( "ReXForm. resx");
Il Добавляем ресурс-изображение
Image і = new BitmapChappy.bmp"); w.AddResourceC'happyDude". 1):
Il Добавляєм ресурс-строку текста
w.AddResource("welcomeString", "Hello new resource format!");
II Сохраняем файл с добавленными ресурсами
tf.GenerateO;
w.CloseC);
Обратите внимание на метод ResXResourceWriter.AddResource(). Этот метод несколько раз перегружен и позволяет добавлять как двоичные данные BLOB (в нашем случае графический файл happy.bmp), так и текстовые данные. Этот метод принимает два параметра: один — имя ресурса в файле *.resx, а второй — сам ресурс. Сохранение информации в файл производится при помощи метода ResXResourceWriter. Generate!).
Как видим, нам совершенно нет необходимости брать на себя обязанности по написанию файла XML (с двоичными вставками) вручную — все это сделает за нас класс ResXResourceWriter. При этом действительно будет создан файл в формате XML: в этом несложно убедиться, открыв файл *.resx в Visual Studio. Делается это следующим образом: в Visual Studio воспользуемся командой Add Existing Item (добавить существующий элемент) в меню Project (Проект) и выберем нужный файл *.resx. Созданный нами файл ResXForm, resx будет выглядеть так, как показано на рис. 9.30.
ЗД.І <daca пяте" "happy Dude " miiiiei:yiJe*r,text:/ffiictosol-7
3;2 <value> —
З Э j AAEAAAD/1 /// AQAA A A AAA AABAgAAAFRTeXNO ZСТО t
З Ц сШхОаХО IPHS IdXRyYMUBlFB lYHOtpTOt. leVKvaZVi
З ЗІ RHJMZ IuZySCaXRt YXABAAAABERhdGEHAoIAAAAC
3 Ц AAAAIAAAACAEAtjAAAIF UZScAAAABc IJHQgCu Eh Ej 37 0lQAAPDAAACA6AAAdTAAAOpgAAA6HiAAAF3CcuIE? SB UlDAeBJ)/ftAAA/uI>//BAAAP//APSA//////g?H7H[ ЗЭ z4WRQQ7AIAgEuRO+7SVfcOdsbUG3oDYlSeAAMCpI
gCvQD4ipA0xxB0 D nnhwgy'.'¦¦...;..¦>¦.!¦.- 54
41j 4xlu9geiAAAAAEIFTkSuQrtiCCCtt--
42' </value>
43j </deta> —j
Предыдущая << 1 .. 181 182 183 184 185 186 < 187 > 188 189 190 191 192 193 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100