Мегаобучалка Главная | О нас | Обратная связь


Вглубь пространства имен



2015-11-11 544 Обсуждений (0)
Вглубь пространства имен 0.00 из 5.00 0 оценок




Аналогия. До сих пор все, что мы достигали в VB, нам удавалось легко. Захотели укоротить полосу прокрутки – раз! – и коротенькой строкой кода это сделали. Захотели спрятать элемент переключателя – раз! – и сделали это строкой, состоящей вообще из двух слов. Вам достаточно было знать простое название «инструмента», которым вы добивались цели – Width, Hide и т.д.

Но не все в VB делается так просто.

Помните сказку, где Ивану-царевичу нужно было разделаться с Кащеем Бессмертным? Для этого ему надо было переломить иглу. Но добраться до этой иглы было довольно трудно, потому что игла-то – в яйце, а яйцо – в утке, а утка – в зайце, а заяц – в ларце. Если ларец у вас в руках и вы знаете устройство этой «матрешки», тогда – другое дело. Вернее, полдела. Полдела, но не все дело. Потому что заяц из ларца выпрыгнет – его надо догнать, утка из зайца выскочит, да в небо – ее надо подстрелить и т.п. В общем – морока. Так ведь и не зря же! Через эту мороку мы многое поймем в программировании на VB.

Если вы хотите в VB что-нибудь совершить какой-нибудь заковыристой «иглой», то, чтобы ее найти, вам нужно будет проделать весь путь вглубь «ларца». Мы уже отчасти столкнулись с этой ситуацией, когда в поисках «иглы» Yellow вместо простого

Button2.BackColor = Yellow

нам пришлось писать более сложное

Button2.BackColor = Color.Yellow.

Здесь дополнительное слово Color – и есть то «яйцо», в котором находилась «игла» Yellow. Правда, «утку» и прочее VB нам простил, не потребовал. Но не всегда он бывает таким добрым. Нам нужно точно знать, как добраться до нужной «иголки». А также, когда нас прощают, а когда нет. И об этом наш разговор.

Вглубь ларца. При программировании для платформы .NET «ларцом» является как раз упомянутая Библиотека классов .NET Framework. Открыв крышку этого ларца, мы увидим внутри два других ларца. Они называются пространствами имен. (не будем пока вникать в буквальный смысл этого названия, ибо сказано: «Хоть горшком назови, только в печь не сажай!»). У каждого пространства имен есть свое имя. Одно из двух упомянутых называется System, а другое – Microsoft. Каждое из них – настоящая кладовая возможностей!

Создайте новый проект. Проделаем сейчас весь путь вглубь наших ларцов.

Чтобы узнать, что находится внутри у пространств имен System и Microsoft, достаточно написать их имя с точкой. Создайте кнопку, дважды щелкните по ней. В получившейся заготовке процедуры мы и будем пробовать что-нибудь написать.

Beep

Совершим экскурсию внутрь одного из этих двух «ларцов». А чтобы экскурсия была не бесцельной, поставим задачу: Извлечь из компьютера при нажатии на кнопку короткий звук (звон, пик).

Я знаю, что этот звук находится внутри «ларца» Microsoft. А если бы не знал? – Сел бы читать учебник или справочник, или систему помощи Help. Эта глава ни в коем случае не расскажет вам, где находятся все объекты. Для этого объектов слишком много. Она только расскажет вам, как добраться до нужного объекта, местоположение которого вам уже заранее известно.

Напишите слово Microsoft и поставьте точку. Перед вами развернется список, представляющий содержимое пространства имен Microsoft. В нем 3 строки (Рис. 2.1).

Рис. 2.1

Каждая из этих 3 строк – не что иное, как еще одно пространство имен. Получается, что внутри «ларца» Microsoft находятся другие 3 «ларца» поменьше: CSharp, Visual Basic, Win32. В знак того, что это именно «ларец», то есть пространство имен, а не что-нибудь другое, в строке стоит значок из двух фигурных скобок { }.

Заглянем внутрь «ларца» Visual Basic. (Почему именно внутрь него? – Потому что я знаю, что нужный нам звук сидит там.) Для этого сделаем двойной щелчок на соответствующем пространстве имен и снова нажмем точку. Перед нами развернется список того, что входит внутрь Visual Basic. Прокрутим немного этот список (Рис. 2.2).

Рис. 2.2

Мы видим, что внутрь пространства имен Visual Basic входит еще одно пространство имен – CompilerServices, внутри которого тоже, наверное, что-нибудь есть. Но нам туда не надо. Потому что кроме него мы видим в списке и множество других строк, обозначенных другими значками. Не будем пока разбираться в смысле этих значков, а выберем двойным щелчком строку Interaction и снова нажмем точку. Перед вами развернется список того, что входит внутрь Interaction. Выберем строку Beep. Это и есть наша «игла». Она-то и заставляет компьютер издать короткий звук. Вот как будет выглядеть теперь ваша процедура:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Microsoft.VisualBasic.Interaction.Beep()

End Sub

Запустите проект, нажмите кнопку, и если звуковая система вашего компьютера в порядке, вы услышите короткий звук. Скажем, что сработал метод Beep объекта Interaction (по аналогии с тем, как в 1.3.9 мы говорили, что сработал метод Hide (он прятал элементы переключателя)).

Итак, игла, яйцо, утка и заяц в коде присутствуют. Вы скажете: Неужели нужно запоминать так много названий этих «животных»? Отнюдь нет. Вам достаточно знать только название «иглы», а система помощи (4.4.9) или Object Browser (4.2.4) подскажут вам, где она находится.

Если вы были внимательны, то у вас наверняка возникли еще кое-какие вопросы. Надеюсь ответить на них и для этого следующий пример рассматриваю более подробно.

Debug.WriteLine

Пусть вам нужен инструмент для вывода чисел и текста в специальное окно VS, которое называется Output. Зачем такой вывод нужен, вы узнаете позже.

Чтобы найти этот инструмент, заглянем в «ларец» System. Наберите в начале новой строки внутри процедуры это слово и точку. Перед вами развернется список того, что входит внутрь пространства имен System. Мы видим, что туда входят другие пространства имен, например Diagnostics. Кроме них мы видим и множество других элементов, помеченных разными значками. Будем называть их объектами. Впоследствии вы обнаружите, что в большинстве своем они совсем не похожи на то, что мы называли объектами раньше – форму и элементы управления.

Объекты бывают разных видов. Укажем некоторые виды:

классы
структуры
модули
перечисления

Это еще не «иглы», но уже нечто вроде «яйца». Все эти объекты – важные инструменты программирования, вместилища полезных свойств, методов и других нужных вещей.

Наша же дорога ведет мимо – внутрь пространства имен Diagnostics. Выберите его в упомянутом списке и введите точку. Перед вами развернется список объектов, которые входят внутрь пространства имен Diagnostics.

Выберите здесь класс Debug и снова введите точку. Перед вами развернется список того, чем обладает класс Debug. Будем называть это компонентами(members) класса. Обратите внимание, что значки здесь уже другие: нет ни классов, ни модулей, ни других объектов. А есть то, чем эти объекты обладают, то есть компоненты. В случае класса Debug это свойства и методы. Вот значки наиболее распространенных компонентов:

свойства
методы(многие методы называются также функциями)
события

Вот это уже настоящие «иглы». Выберем метод WriteLine, а в скобках после него напишем 3+2. Кстати, после ввода открывающей скобки VB услужливо предложит подсказку на тему о том, что должно быть в скобках. Со временем вы научитесь эту подсказку понимать.

Вот как выглядит теперь наша процедура:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Microsoft.VisualBasic.Interaction.Beep()

System.Diagnostics.Debug.WriteLine(3 + 2)

End Sub

Если вы не видите сейчас на экране окна Output, проделайте View ® Other Windows ® Output. Запустите проект, в окне Output вы увидите возникающие строчки служебной информации, связанной с запуском и компиляцией вашего проекта. Затем на экране появится форма. Нажмите кнопку, вы услышите звук и в окне Output появится число 5. Все верно. Завершите работу проекта. В окне Output появится строчка служебной информации, связанной с завершением работы вашего проекта.

Выводы

Какие главные моменты нужно вывести из рассмотрения этих двух примеров? Их два:

1. Библиотека классов .NET Framework включает в себя колоссальное количество объектов, их свойств, методов и других элементов. До всех них можно добраться рассмотренным выше способом.

2. Разберемся в строении двух написанных операторов. Каждый из них состоит из трех частей, разделенных точками. Пойдем справа налево:

· Крайняя правая часть – это свойство или метод со скобками или без.

· Левее через точку идет объект – «хозяин» этого метода или свойства.

· И самая левая часть – одно или несколько пространств имен, разделенных точками.

Запомните эту простейшую архитектуру. Скоро мы будем ее и укорачивать и разнообразить.

Пространство имен можно называть так: «Пространство имен Diagnostics, находящееся в пространстве имен System». А можно называть короче: «Пространство имен System.Diagnostics». Говорят еще так: «Сработал метод WriteLine объекта Debug из пространства имен System.Diagnostics».

Еще точки. Чтобы перед нами развернулся список, нам нужно начинать запись со слов System или Microsoft или с известного нам имени объекта, который входит в упомянутые пространства имен. А еще с чего? В 1.3 мы начинали запись с имени элемента управления, который уже находится на вашей форме, например, Button1. И с «местоимения» формы Me. Можно начинать и с имени проекта, но это нам пока не нужно.

Доберемся «по всем правилам» до желтого цвета. Добавьте в процедуру следующую строку:

Button1.BackColor = System.Drawing.Color.Yellow

В процессе ее ввода вы уяснили, что Color – это, оказывается, объект пространства имен System.Drawing, а Yellow – его свойство. А раньше мы писали короче. Когда можно писать короче, рассказано в следующем разделе.

Не вся библиотека классов .NET Framework в настоящий момент подключена к вашему проекту. Сделано это из экономии. Если у вас уже есть опыт и вы точно знаете, чего именно вам не хватает, вы можете быстро подключить дополнительные пространства имен из этой библиотеки (см. 21.3.1).

В дальнейшем вы увидите, что свойства и методы сами могут «быть объектами», тогда после них тоже можно ставить точку, и так до бесконечности.

Экономим чернила

Все-таки операторы у нас получаются очень длинные. Нельзя ли записывать их покороче? Можно. Есть два способа.



2015-11-11 544 Обсуждений (0)
Вглубь пространства имен 0.00 из 5.00 0 оценок









Обсуждение в статье: Вглубь пространства имен

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (544)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.08 сек.)