C# для вундеркиндов. Часть 5: За рамками этой книги Февраль 2007 г. К сожалению, люди еще не изобрели способа загружать в голову необходимую информацию напрямую. Но стоит ли об этом сожалеть? Ведь сам процесс обучения доставляет немало удовольствия. Вспомните свои ощущения когда заработала первая написанная вами программа. А ведь это была лишь ничтожная часть того, что можно понять и изучить. Автор этой книги вовсе не преследовал цель рассказать читателям все о программировании на языке C#. Задача сводилась к тому, чтобы сформировать некую базу из основных принципов и предоставить достаточное количество примеров с реальными задачами, опираясь на которые, юные программисты смогли бы самостоятельно освоить это искусство. Во всех примерах, приведенных в этой книге, код содержится в одном файле. Visual C# Express в некоторых случаях разбивает один код на несколько отдельных файлов. Особое внимание следует обратить на то, какие действия происходят при запуске нового проекта «Windows Application» (приложение Windows), так как от этого зависит, с какого места вы начнете писать код формы. На приведенном ниже снимке экрана показано, что происходит в этом случае. Мы расположили окна немного в другом порядке, чтобы более наглядно показать все создаваемые элементы. Давайте рассмотрим эти четыре окна. 1. Представление кода с файлом Form1.cs — содержит файл, в который записывается код формы. Здесь можно, например, добавить обработчик событий к кнопке. 2. Представление конструктора с файлом Form1.Designer.cs — сюда можно перетаскивать элементы управления (например, кнопки) с панели инструментов. Это избавляет от необходимости вручную программировать все элементы. 3. Представление кода с файлом Form1.Designer.cs — когда в область конструктора перетаскивается, к примеру, кнопка, Visual C# Express добавляет соответствующий фрагмент кода, который описывает данный экземпляр кнопки. Код сохраняется в этом файле. Таким образом, файл используется только самой системой и служит для представления в коде тех элементов, которые добавляются в область конструктора. Обычно код в этом файле не изменяется и не добавляется. Фактически, именно из него система получает информацию о представлении конструктора. (Представление конструктора не имеет какого-либо другого файла, это и есть его единственный файл). 4. Представление кода с файлом Program.cs. Этот файл содержит стандартный метод Main() и код для автоматического создания экземпляра класса Form. Итак, за запуск всей программы отвечает именно этот файл. В случае приложений Windows этот файл обычно не изменяется. Подобное разделение кода на несколько файлов возможно благодаря существованию так называемых разделяемых классов — это означает, что части класса могут находиться в разных файлах. Но почему класс в приведенном примере обязательно нужно разделять на несколько файлов? Это вовсе не обязательно, однако такой подход имеет одно большое преимущество: код с другим основным назначением выделяется в отдельный файл. Возможно, использование трех файлов вместо одного может показаться немного сложным, но зато мы получаем единый чистый файл Form1.cs, в котором можно писать тот код, который нас действительно интересует. Нередко бывает так, что система создает код автоматически и вставляет его в файл, который вы пытаетесь написать самостоятельно. И наоборот: Visual C# Express заходит в тупик, когда вы начинаете изменять файлы, которые он считал «своей собственностью». Схема с разделением решает эту проблему, предоставляя каждому из вас свое рабочее пространство. Ваша территория — это два верхних окна на приведенной выше иллюстрации, представление конструктора и представление кода с файлом Forms1.cs. Но это не значит, что вы не можете в любой момент удалить файлы Program.cs и Form1.cs и начать работу с собственными файлами. Дополнительные советы Как и при изучении любого нового предмета, по ходу чтения этой книги у вас, несомненно, будут возникать многочисленные вопросы. Чаще всего эти вопросы относятся к одной из следующих категорий: 1. Что делать, если Visual C# Express выдает сообщение об ошибке? Успокоиться и попытаться понять, что вам хочет сказать компьютер. Да, это не всегда просто, но попробуйте поставить себя на его место — обычно это помогает. Почитайте разделы, касающиеся отладки в Visual C# Express. Это функция замедленного выполнения программы по одной строке с одновременной автоматической проверкой значений переменных. Ошибки в ходе этого процесса не устраняются, но вы получаете гораздо больше полезной информации. При этом основная часть поисковой работы все же достается вам. Если отладка не принесла желаемого результата, попробуйте найти соответствующее сообщение об ошибке в справке или в Интернете. Если повезет, вы можете наткнуться на идеи, которые позволят взглянуть на проблему с другой стороны и таким образом понять ее причину. 2. В библиотеке классов .NET Framework Class Library ... a. Как узнать, какие классы доступны? b. Как узнать, какие методы есть у этих классов? c. Как узнать, какие параметры необходимы этим методам? Visual C# Express содержит подробный справочный материал по всем классам в библиотеке .NET Framework Class Library. Чтобы просмотреть справку, нажмите Справка -> Оглавление и выберите тему «.NET Framework SDK». В приведенном ниже примере требуется найти сведения о том, какие классы доступны в пространстве имен System.Windows.Forms. Для этого мы выбираем Class library(«Библиотека классов») и прокручиваем страницу справа до заголовка «System.Windows.Forms». При переходе по гиперссылке Systems.Windows.Forms появляется список классов (в нашем примере это «Кнопка», «Метка», «Поле со списком» и т.п.). При выборе определенного класса (например «Поле со списком») на экране появляется приблизительно следующая картинка (см. рис. ниже). Если теперь щелкнуть гиперссылку «Элементы», откроется страница с перечислением всех методов, свойств и событий этого класса и подробной информацией о них. Одним из главных достоинств этого справочного материала является огромное количество содержащихся в нем примеров. Иногда информация сама по себе может ничего вам не говорить, но стоит нажать кнопку «Пример», и все сразу становится на свои места. Если вы не нашли подходящего примера в справочном материале, выполните поиск по всей справке — в большинстве случаев вы найдете полезные примеры в других ее частях. 3. Где можно найти дополнительные сведения? В какой-то момент вы поймете, что без дополнительного источника информации вам не обойтись. Это означает, что пришло время обратиться к сообществу и поинтересоваться у своих коллег, что они программируют в Visual Basic как решают возникающие в связи с этим проблемы. Рекомендуем посетить следующие веб-узлы: http://www.microsoft.com/express/ru/vcsharp/Default.aspx http://msdn.microsoft.com/coding4fun http://msdn.microsoft.com/ru-ru/vcsharp/aa336717.aspx или http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=160&SiteID=1 www.gotdotnet.ru http://www.codeproject.com/?cat=3 Не стесняйтесь задавать в форумах любые интересующие вас вопросы. Однако сначала ознакомьтесь с существующими сообщениями и проверьте, не задавал ли кто-нибудь до вас точно такой же вопрос. Приятного путешествия в мир программирования! Новый язык программирования Microsoft C# (произносится «си-шарп») очень мощный и в то же время прост в использовании. Он представляет собой отличную возможность для молодого поколения начать свой путь в программировании с языка, который высоко ценится современными специалистами. Эта книга в простой форме знакомит юного читателя (предполагаемый возраст — 12-16 лет) с объектноориентированным программированием, предлагая начать с реальных программ в среде Windows. Об авторе Мартин Дрейер (Martin Dreyer) — в прошлом школьный учитель, сейчас возглавляет группу разработчиков программного обеспечения в ЮАР. Он имеет диплом о высшем образовании по направлению «Естественные науки» и степень бакалавра по направлению «Вычислительная техника и информационные системы».