Основы языка C# 2005. Евсеева О.Н - 28 стр.

UptoLike

Составители: 

32
экземплярным, подчеркивая тот факт, что метод вызывается экземпляром
класса - некоторым объектом;
xне указывается при вызове. Такой вызов называется
неквалифицированным, в отличие от двух первых случаев. Отметим,
неквалифицированный вызов вовсе не означает, что цель вызова отсутствует, -
она просто задана по умолчанию. Целью является текущий объект (текущий
класс для статических методов). Текущий объект имеет зарезервированное имя
this. Применяя это имя, любой неквалифицированный вызов можно превратить
в квалифицированный вызов. Иногда без этого имени просто не обойтись.
Выполнение проекта по умолчанию
Давайте посмотрим, что происходит в проекте, создаваемом по
умолчанию, когда процедура Main начала работать. Процедура Main содержит
всего одну строчку:
Application.Run(new Form1());
Прокомментируем этот квалифицированный вызов. Целью здесь является
класс Application из пространства имен System.Windows.Forms. Класс вызывает
статический метод Run, которому в качестве фактического аргумента
передается объектное выражение new Form1(). При вычислении этого
выражения создается первый объектэкземпляр класса Form1. Этот объект
становится текущим. Для создания объекта вызывается конструктор класса. В
процессе работы конструктора осуществляется неквалифицированный вызов
метода InitializeComponent(). Целью этого вызова является текущий объектуже
созданный объект класса Form1. Ни в конструкторе, ни в вызванном методе
новые объекты не создаются. По завершении работы конструктора объект
класса Form1 передается методу Run в качестве аргумента.
Метод Run класса Applicationэто знаменитый метод. Во-первых, он
открывает формувидимый образ объекта класса Form1, с которой теперь
может работать пользователь. Но главная его работа состоит в том, что он
создает настоящее Windows-приложение, запуская цикл обработки сообщений
о происходящих событиях. Поступающие сообщения обрабатываются
операционной системой согласно очереди и приоритетам, посредством вызовов
обработчиков соответствующих событий. Поскольку наша форма по
умолчанию не заселена никакими элементами управления, то поступающих
сообщений немного. Все, что может делать пользователь с формой, так это
перетаскивать ее по экрану, свертывать и изменять размеры. Конечно, он может
еще закрыть форму. Это приведет к завершению цикла обработки сообщений, к
завершению работы метода Run, к завершению работы метода Main, к
завершению работы приложения.
Проект WindowsHello
Давайте расширим приложение по умолчанию до традиционного
приветствия в Windows-стиле, добавив окошки для ввода и вывода