Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 287

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 281 282 283 284 285 286 < 287 > 288 289 290 291 292 293 .. 404 >> Следующая


Все эти возможности модулей существенно упрощают разработку, выполняемую в среде .NET.

? Измените номер версии и другие атрибуты модуля в AsBerablyinfo.cs или shapes.cs, н понаблюдайте с помощью ildasm за тем,

к каким изменениям в файле shapes.dll это приведет.

? Создайте новый модуль moreshapes, в который — наряду

с классами circle и Triangle — будет включен класс Square (квадрат), а затем изучите его свойства с помощью ildasm.

? Замените в shapeuser.exe ссылку на модуль, с тем чтобы воспользоваться модулем moreshapeB.dll, а затем посмотрите в ildaam, какие изменения произошли со свойствами,

? Создайте клиента для mor^^hapes, который будет использовать объекты Square и Triangle наряду с объектом Circle.

С помощью ildasm исследуйте модуль, созданный для этого клиента.
612

Глава 21

? Выведите список командных опций gacutil с помощью флажка /7, а затем воспользуйтесь его опциями для вывода перечня свойств всех глобальных модулей, которые имеются на вашей системе.

? Создайте строгое имя для модуля moreshapes и пометьте его

с помощью этого имени. Посмотрите на результат с помощью ildasm. Попробуйте запустить клиентскую программу, а затем откомпилируйте ее заново, включив ссылку на помеченный модуль.

? Инсталлируйте moreshapes.dll в Global Assembly Cache с помощью gacutil и поэкспериментируйте с ehapeuser и созданным вами клиентом, запуская их как совместно

с модулем moreshapes, находящимся в локальной директории и/нли в GAC, так и без него.
Атрибуты

В этой главе будет рассказано о том, что такое атрибуты и для чего онн могут быть использованы, а в качестве примера будут приведены некоторые атрибуты, используемые в .NET Framework.

Будет также обсуждено понятие нестандартных атрибутов — атрибутов, которые вы можете создавать самостоятельно для расширения вашей системы, и приведено несколько работающих примеров. Будет рассмотрен вопрос о том, каким образом Intermediate Language Disassembler (iidaam — дисассемблер промежуточного языка) может использоваться для обнаружения атрибутов существующих модулей.

Атрибуты являются одной из наиболее полезных особенностей .NET Framework. Онн часто используются компанией Microsoft. Для того чтобы научиться эффективно их использовать, придется потратить значительное количество времени, но оно того стоит. В последующих разделах мы познакомимся с тем, каким образом атрибуты могут применяться в следующих областях:

? Отладка

? Обеспечение информацией о модулях

? Обозначение методов и классов как устаревших

Q Условная компиляция

Q Доступ к базам данных

В этой главе будет подробно рассказано о том, как создавать собственные атрибуты, расширяющие возможности системы, и продемонстрировано несколько работающих примеров нестандартных атрибутов. Прочитав главу, вы получите достаточно знаний о том, что нз себя представляют атрибуты и каким образом их можно использовать в своих проектах.

Что такое атрибут?

Дать атрибуту определение, состоящее из одного предложения, довольно сложно; изучать атрибуты лучше всего на примере их использования. На данном этапе мы определим атрибут как некоторую дополнительную информацию, которая может относится к отдельным участкам кода в рамках одного модуля, таким как класс, метод или свойство. Эта информация является доступной для любого другого класса, который обращается к данному модулю.
614

Глава 22


Scijtic 3- щ <§! i-й »i 'Assembtylnfo' (1 project) .lemblylnfo | References ВШЫВШВЦ
| Ш Fofml .ci |

В предшествующей главе мы обсуждалн понятие модулей и упоминали файл Asaembiyinfo.ca, Для того чтобы рассмотреть этот файл, следует создать в VS новый проект и открыть Solution Explorer (Ctrl+Alt+L). Вы увидите нечто похожее на изображенное на рисунке слева,

Если два раза щелкнуть мышью на этом файле, можно увидеть код, который был создан VS. Часть этого кода приводится ниже:

using System.Deflection;

using System,Runtime.CompilerServices;

П

it Общая информация о модуле контролируется посредством ft следующего набора атрибутов. Для того чтобы внестг И изменения в информацию, относящуюся к данному модули,

// необходино изменить значения этих атрибутов,

U

[assembly; AssemblyTitle(*r)J [assembly: AseemblyDescripfcionf") J [assembly: AssemblyConfiguration(”)]

[assembly: AesemblyCompany('*)]

[assembly: AssemblyProduct(") ]

(assembly; AssemblyCopyright(**)I [ assembly: AssemblyTradentarJc ( * *) ]

[assembly: AssemblyCulturef'*)I

Для краткости здесь приводится только часть файла. Внутри файла находится некоторое количество строк, начинающихся с текста * [assembly: *,— это и есть определения атрибутов. Когда такой файл компилируется, все описанные атрибуты сохраняются в получающемся модуле. Этот процесс известен под названием ‘консервирования’ (‘pickling’). Чтобы увидеть это в действии, измените один нз приведенных выше атрибутов (иапример. атрибут AssemblyTitle) и откомпилируйте модуль:

[assembly; AssemblyTitle('Wrox rocks')J . .

После завершения компиляция щелкните мышью на модуле в Windows Explorer, что приведет к выводу на экран окна со свойствами. На рисунке справа показана вкладка с информацией
Предыдущая << 1 .. 281 282 283 284 285 286 < 287 > 288 289 290 291 292 293 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.