Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 132

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 132 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 1322019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 132)

Это специальное расширение языка С для программных средств корпорации М(сгозо((. Оно уведомляет компилятор о необходимости экспортировать метод льзмах () из библиотеки РЕ(., в которой он содержится. Для компилирования файла кхьмеьь. с в командной строке указывается следующее: ОЪ /ЪП /МВ Кхкневн. о 684 Часть (.

Язык С№ В итоге создается библиотечный файл ОЕŠ— ЕхгмегЬ. б11. Далее следует программа на С№, в которой применяется внешний метод АЬЯМах () . изтпц Яузгев; пзгпц Яуягев.кппгтве.1пгегоряегчтсея; с1азз ЕхгегпМегп ( // Здесь объявляется внешний метод. (0111врогг("ЕхгМегп.с(11")) рпЬ11с ехгегп ягагтс тпг АЬзиах(тпг а, тпг Ь)т ягагтс чозд Мвтп() ( // Использовать внешний метод.

1пг вах = АЬзмах(-10, -20); Сопзо1е.игзгепдпе(вах)т Обратите внимание на использование атрибута 0111врогг в приведенной выше программе. Он уведомляет компилятор о наличии библиотеки РЕ(., содержащей внешний метод АЬямах () . В данном случае это файл Ехгиегп.

с)11, созданный во время компиляции файла с исходным текстом метода АЬЯМах () на С. В результате выполнения данной программы на экран, как и ожидалось, выводится значение 20. Объявление псевдонима внешней сборки Во втором применении ключевое слово ехгегп стало доступным с версии С№ 2.0. В атеем варианте оно предоставляет псевдоним внешней сборки, что полезно в тех случаях, когда в состав программы включаются две отдельные сборки с одним и тем же именем элемента. Так, если в сборке геяг1 содержится класс Мус1аяз, а в сборке геяг2 класс с таким же именем, то при обращении к классу по этому имени в одной и той же программе может возникнуть конфликт.

Для разрешения подобного конфликта необходимо создать псевдоним каждой сборки. Это делается в два этапа. На первом этапе нужно указать псевдонимы, используя параметр компилятора /г, как в приведенном ниже примере. /г:Азв1=геяг1 /гтаяв2=геяг2 А на втором этапе необходимо ввести операторы с ключевым словом ехгегп, в которых делается ссылка на указанные выше псевдонимы. Ниже приведена форма такого оператора для создания псевдонима сборки. ехгегп а11аз иия сборки; Если продолжить приведенный выше пример, то в программе должны появиться следующие строки кода: ехгегп а11ая Аяв1) ехгегп а11ая Аяв2т Теперь оба варианта класса мус1азз будут доступны в программе по соответствующему псевдониму.

Глава 20, Небезопасный код, указатели, обнуллеыые типы и разные ключевые слова 688 Рассмотрим полноценный пример программы, в которой демонстрируется примеиеиие внешних псевдонимов. Эта программа состоит из трех файлов. Ниже приведен исходиый текст, который следует поместить в первый файл — севс1.

св. пвзпд яувкевт пввеврвсе Муиз ( рнЫзс с1ввв МуС1ввв ( рнЫ1с МуС1авв() сопво1е.иг1сегхпе("конструирование ив файла мус1авв1.б11."); ) ) Далее следует исходный текст из файла севс2. св. ивхпс Яувсепи павеврасе Муи5 ( рпо11с с1авв МуС1авв ( рпЫзс МуС1ввв О Сопво1е.ыгздеъзпе("Конструирование из файЛа Мус1авв2.611.")т ) ) ) Обратите внимание иа то, что в обоих файлах, севс1. св и севс2. св, объявляется пространство имен мумя и что именно в этом пространстве в обоих файлах определяется класс муС1вв в. Следовательно, без псевдонима оба варианта класса Мус1ав в будут недоступиыми ии одиой из программ.

И наконец, ниже приведен исходный текст из третьего файла севсЗ. св, где используются оба варианта класса мус1авв из файлов севс1. св и севс2. св. Это становится возможным благодаря операторам с внешними псевдонимами. // Операторы с внешними псевдонимами должны быть указаны !/ в самом начале файла. ехкегп а11ав Авв1т ексегп а11вв Авв2т пвзпд 5увсепи с1авв рево ( всакхс токо Мази() ( Авв1т:МуНЯ.МуС1авв С = пен Авв1:тМуЫЯ.МуС1авв()) Авв2т:Муиз.МуС1авв К2 = пен Авв2т:МуЫЯ.МуС1евв()к ) Сначала следует скомпилировать файлы севс1. св и Севх2. св в их библиотечные эквивалеиты кл) ).. Для этого достаточно ввести в командной строке следующее: свс /Ет11Ьгагу Еевс1.св сас /Ет11Ьгагу Ееве2.св 686 часть й язык сз Затем необходимо скомпилировать файл сезсз.

ся, указав в командной строке овс /гтдавт1есеасз.кт11 /г:Лввл Ееасз.кт11 Ееасз.св Обратите внимание на применение параметра /г, уведомляющего компилятор о том, что ссылка на метаданные находится в соответствующем файле. В данном случае псевдоним лзнт1 связывается с файлом сезс1. ст11, а псевдоним йяпт2 — с файлом сезс2. ст11. В самой программе псевдонимы указываются в приведенных ниже операторах с модификатором ехсегп, которые располагаются в самом начале файла.

ехкегп а11ая Ляв1т ехкегп а11ав ави21 А в методе Мафп () псевдонимы используются для разрешения неоднозначности ссылок на класс мус1аяя. Обратите внимание на следующее применение псевдонима для обращения к классу мус1аяз. ава1::Муиз.мус1ввв В втой строке кода первым указывается псевдоним, затем оператор разрешения пространства имен, далее имя пространства имен, в котором находится класс с неоднозначным именем, и, наконец, имя самого класса, следующее после оператора-точки. Та же самая общая форма пригодна и для других внешних псевдонимов. Ниже приведен результат выполнения данной программы. Конструирование из файла Мус1ввв1.О11.

конструирование из файла Мус1ввв2.о11. ГЛАВА Пространство имен Яуз~ет В этой главе речь пойдет о пространстве имен Бузсеас Это пространство имен самого верхнего уровня в библиотеке классов для .ХЕТ Егашесуогк. В нем непосредственно находятся те классы, структуры, интерфейсы, делегаты и перечисления, которые чаще всего используются в программах на С№ или же считаются неотъемлемой частью среды .ХЕТ Егашесуогк. Таким образом, пространство имен Бузьеп составляет ядро рассматриваемой здесь библиотеки классов.

Кроме того, в пространство имен Бузсет входит много вложенных пространств имен, поддерживающих отдельные подсистемы, например Бузьев. Неь. Некоторые из этих пространств имен рассматриваются далее в этой книге. А в этой главе речь пойдет только о членах самого пространства имен я узсеас Члены пространства имен Бузят Помимо большого количества классов исключений, в пространстве имен содержатся приведенные ниже классы. НССРБСу1евгтратвет АсС1чаСтопСопСехС Аррвоха1пнапазет АРР11сатсоп1септ1ту АССгтЬПСе Впстег СОП5О15 СоптехСБСаетсйССгтЬчхе ОетеэаСе Ечептйтвв Р1аовлтттсьоте ОепегтспгтРатвег Асттчатот Лррьопаспзетпр Атгау ЛССтсоптеввазейтттсооте СпатЕппвегатог Соп*о1еСапсе1ЕчепСАтвв СопчетС ЕПОЕ Ехсерттоп РСРБСу1епг1ратвег СороетБСу1евттРагвет ЛРРООО51П Арр1тсатсоп1Н йввееЬ1уъоасвчептлтдв ВтССопчегтег СЬБСОЬР11апслттттопте Соптехтэоопесозест ОВНО11 епчтгоппепс Р11еБСу1епгтрагвет 690 Часть пй Библиотека СБ Ьоабегоргтеггагтопйггттьиге ьоса1оагаБгоге51ог Мтйтйгеабйттттоите Мать НеГТср5ту1еоттРатвег НП11аЫе орегас1ПСБувтепс Кево1чеЕчептйгвв БтттпС Ттпе2опе Т1пеЕопе1пко.йбЗивтп\ептйи1е Туре Опйапб1едЕхсерт1опЕчепГАгСв Угт Уттви11бет Огттемр1атевдикча1епсесаврагег Ча1иеТуре Ут>Ратвет Уг1темр1атетаЬ1е Негвтоп Уг1Тевр1ате ОгттуреСопчеггег неаккекегепсе Ниже приведены структуры, определенные в пространстве имен Буявепс.

АгС1тегатог АтгауБеСпепт<Т> Сйат ауге Оакет1псе011вет Ситб 1ПГ64 МП11аЬ1е<Т> КППГ1свеиетйодвапб1е 51п51е Туребйекегепсе У1пт64 В пространстве имен БуБОепс определены приведенные ниже интерфейсы. 1йррооиа1П 101опеаЫе 1сопчегт1Ые 1есиагаЬ1е<т> 15егчтсергоч1бег 1йрроаеа1ПБетир 1сомрагаЬ1е 1Сивтот Рогтаттег 1гогасатргочтбег 1Авупсйеви11 1СопсрагаЫе<Т> 101вроваЫе 1гоппаттаЫе Ниже приведены делегаты, определенные в пространстве имен 5уя сев. АПГ1оп<Т> Аст1оп<Т1, 2> Асттоп<тт, Т2, ТЗ, тв> йррооеа1птпттга11тег Сопраттвоп<Т> Сговвйррооеатпое1еСате Рипс<ТКеви1Г> Рипс<Т1, Т2, ТЗ, Тйеви11> Кево1чеЕчепГНапб1ег Авупсса11Ьасй сопчетгег<т, ч> Ечепгнапб1ет<Т> Рипс<Т1, Т2, Тйеви1Г> Рипс<Т1, Т2, ТЗ, Т4, Тйеви1Г> Ргеб1сате<Т> ОпЬапб1ебЕхсерттопЕчепГНапб1ег ьбарвгу1еугтрагвег Магвйа1вуйе10ЬЗест МП1Ысавтое1еСате НеевБГу1епттрагвег ОЬЗест Рагавйттауйттг1Ьите Бегга1тгаЫеАГГг>Ьите БтттпССоарагег Т1шеаопе1пто ОатеТ1спе ОоиЫе 1пт32 Моби1еНапб1е Кипттпсегте1бНапб1е Бьуте ТьееЕопе1пко.тгапв1Г1опткпсе У1ПГ32 чотб йсттоп Аст1оп<Т1, Т2, ТЗ> АввееЫРОоабЕчептнапб1ет Сопво1еСапсе1ЕчепгНапб1ет Ечептнапб1ег Рипс<т, ттевЫт> НеГРтре5ту1еог1рагвег МопБетта1>тебйттг1Ьите ОЬво1етейттт1Ьите Капбом Бтйтйгеабйттт1Ьиге ТЬгеабвтаттсйттг1Ьите Воо1еап Сопво1екеу1пго Оестма1 1пт16 1пГРГт КипатшейтСипепГНапб1е Кипттеетуренапб1е Тгпсеврап У1ПГ16 У1ПСРГг Глава 2(.

Пространстао имен Зуя(ев 691 В пространстве имен Еуясев определены приведенные ниже перечисления. Асгснаг1опсопгехг. сопгехСГопп Арросап1пиппадег1п111п11гпгсоп ОРСгопз АССг1ЬпгеТагдегз ВазебягогязССгпдпрС1опз Сопзо1еСо1ог Сопзо1еяресгп1Кеу Епн1гопвепг.ярессп1Го1бег депеггспггРагзегорггопз Р1зггопп1О ТуреСобе Ог(нозгнавзтуре ОггРаггга1 Как следует из приведенных выше таблиц, пространство имен ЕуЯСев довольно обширно, поэтому в одной главе невозможно рассмотреть подробно все его составляющие. К тому же некоторые члены пространства имен 5уя СЕв, В тоМ ЧИсле НО11аые<Т>, туре, ЕхсерСгоп и АССггЬОСе, уже рассматривались в части 1 или будут представлены в последующих главах части 11. И наконец, класс Яуясев.

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее