Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Комментарии к XML-документацияСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
В дополнение к комментариям в стиле С, проиллюстрированным в предыдущем выше, в С# имеется очень искусное средство, на которое стоит обратить особое внимание: способность генерировать документацию в формате XML на основе специальных комментариев. Это однострочные комментарии, начинающиеся с трех слешей «///» вместо двух. В таких комментариях можно размещать XML-дескрипторы, содержащие документацию по типам и членам типов, используемым в коде:
XML-дескрипторы, распознаваемые компилятором, перечислены в следующей таблице:
Как это работает? Пример:
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace LC_Console { /// <summary> /// Класс Program. /// Основной класс программы, /// выводящий текст "Hello, world!" /// </summary> class Program { /// <summary> /// Класс First. /// Дополнительный класс программы, /// выводящий текст метода Second() /// </summary> class First { /// <summary> /// Метод Second() является /// входной точкой работы программы /// </summary> /// <param name="s">Аргумент метода Second()</param> public void Second(string s) { Console.WriteLine(s); }
public First() { } }
/// <summary> /// Метод Main() является /// входной точкой работы программы /// </summary> /// <param name="args">Аргумент метода Main()</param> static void Main(string[] args) { First F = new First(); // Форматируем шапку программы Console.BackgroundColor = ConsoleColor.Green; ConsoleColor Color = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("*******************************"); Console.WriteLine("**** Консольное приложение ****"); Console.WriteLine("*******************************\n"); // Основная программа Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = Color; Console.WriteLine("Hello, world!"); // Вывод заданного текста в консоль string s = "\nВторой метод"; F.Second(s); Console.ReadKey(); // Ожидание нажатия клавиши пользователем } } }
Теперь, при работе с чем-либо, что имеет XML-тэги, подсказки в этих самых тэгах будут отображаться при наведении мыши на этот объект (или при написании кода с этим объектом):
Рис. 3. 1. Отображение подсказки при применении метода Second
Компилятор С# может извлекать XML-элементы из специальных комментариев и использовать их для генерации файлов XML. Чтобы заставить компилятор сгенерировать XML-документацию для сборки, указывается опция /doc вместе с именем файла, который должен быть создан (Командная строка Visual Studio (2010), команда для компилятора csc.exe):
csc /t:library /doc:LC_Console.xml Program.cs
Данная команда сгенерирует файл XML по имени LC_Console.xml со следующим содержимым:
Рис. 3. 2. Содержимое XML-файла LC_Console.xml
Того же (вывода в файл) можно добиться пометив галочкой соответствующий вариант в (XML-файл документации) на вкладке «Построение» окна редактора свойств проекта в Visual Studio 2010.
Метод Main
Консольное приложение C# должно содержать метод Main, в котором начинается и заканчивается управление. В методе Main создаются объекты и выполняются другие методы. Метод Main является статическим методом static, расположенным внутри класса или структуры. В предыдущем (консольное приложение) примере «Hello, world!» он расположен в классе с именем Program. Метод Main можно объявить одним из следующих способов:
static void Main() { //... }
static int Main() { //... return 0; }
· Также может возвращаться целое значение.
static void Main(string[] args) { //... }
Или:
static int Main(string[] args) { //... return 0; }
· С обоими возвращаемыми типами он может принимать аргументы.
Параметры метода Main args являются массивом значений типа string, который содержит аргументы командной строки, используемые для вызова программы. В отличие от C++, массив не содержит имени исполняемого (EXE) файла.
Дополнительные сведения об использовании аргументов командной строки можно получить из примеров, приведённых в разделах Main() и аргументы командной строки (Руководство по программированию на C#) (http://msdn.microsoft.com/ru-ru/library/acy3edy3.aspx) и Практическое руководство. Создание и использование сборок с помощью командной строки (C# и Visual Basic) (http://msdn.microsoft.com/ru-ru/library/3707x96z.aspx).
Вызов метода ReadKey в конце метода Main предотвращает закрытие окна консоли, чтобы вывод при выполнении программы в отладочном режиме (компиляция в режиме Debug или Release в среде разработки Visual Studio 2010) можно было прочесть нажатием клавиши F5.
Разное
using System;
Эта строка означает, что в программе используется пространство имён System. В С# пространство имен определяет область объявлений. Благодаря пространству имён одно множество имен отделяется от других. По существу, имена, объявляемые в одном пространстве имен, не вступают в конфликт с именами, объявляемыми в другом пространстве имен. В анализируемой программе используется пространство имён System, которое зарезервировано для элементов, связанных с библиотекой классов среды.NET Framework, применяемой в С#. Ключевое слово using просто констатирует тот факт, что в программе используются имена в заданном пространстве имён. Попутно обратим внимание на весьма любопытную возможность создавать собственные пространства имён, что особенно полезно для работы, над крупными проектами.
Обратим внимание, что использование данной строки в программе не обязательно, т.к. в C# можно всегда полностью определить имя с помощью пространства имён, к которому оно принадлежит. Например, строку:
Console.ReadKey();
Можно переписать так:
System.Console.ReadKey();
Однако указывать пространство имён System всякий раз, когда используется член этого пространства, — довольно утомительное занятие, и поэтому большинство программистов на С# вводят директиву using System; в начале своих программ. Следует, однако, иметь в виду, что любое имя можно всегда определить, явно указав его пространство имён, если в этом есть необходимость.
namespace LC_Console
С помощью ключевого слова namespace объявляется пространство имён, с которым должен быть ассоциирован класс. Весь код в последующих фигурных скобках рассматривается как принадлежащий этому пространству имен. Оператор using специфицирует пространство имён, которое должен просматривать компилятор в поисках классов, упомянутых в коде, но не определенных в текущем пространстве имен. Это служит тем же целям, что оператор import в Java и using namespace в С++.
class Program
В этой строке ключевое слово class служит для объявления вновь определяемого класса. Класс является основной единицей инкапсуляции в С#, a Program — это имя класса. Определение класса начинается с открывающей фигурной скобки «{«и оканчивается закрывающей фигурной скобкой «}». Элементы, заключённые в эти фигурные скобки, являются членами класса. Не вдаваясь пока что в подробности, достаточно сказать, что в С# большая часть действий, выполняемых в программе, происходит именно в классе.
Метод Main, как уже говорилось, является точкой входа в программу. Формально класс, в котором определяется метод Main, называется объектом приложения. Хотя в одном исполняемом приложении допускается иметь более одного такого объекта (это может быть удобно при проведении модульного тестирования), при этом обязательно необходимо информировать компилятор о том, какой из методов Main должен использоваться в качестве входной точки. Для этого нужно либо указать опцию main в командной строке, либо выбрать соответствующий вариант в раскрывающемся списке (Автоматически запускаемый объект) на вкладке «Приложение» окна редактора свойств проекта в Visual Studio 2010. Как уже говорилось выше, в сигнатуре метода Main присутствует ключевое слово static. Область действия статических (static) членов охватывает уровень всего класса (а не уровень отдельного объекта) и потому они могут вызываться без предварительного создания нового экземпляра класса. Внутри метода Main используется несколько встроенных методов предопределенного класса Console, в частности BackgroundColor — задаёт цвет фона, ForegroundColor — задаёт цвет контента (в нашем случае текста).
Ввод и вывод
Программы на C#, как правило, используют службы ввода/вывода, предоставляемые библиотекой времени выполнения в .NET Framework. WriteLine — выводит на экран строку и ReadLine — считывает данные из консоли. Код Console.WriteLine("Hello, world!"); использует метод WriteLine. Это один из методов вывода класса Console в библиотеке времени выполнения. Он выводит свои строковые параметры в стандартном потоке вывода, за которым следует новая строка. Другие методы Console используются для разных операций ввода и вывода.
Дополнительные сведения о методах ввода/вывода можно получить в разделе System.IO (http://msdn.microsoft.com/ru-ru/library/system.io.aspx). Общая структура программы Общая структура программы на C#
Программа на языке C# может состоять из одного или нескольких файлов. Каждый файл может содержать ноль или более пространств имён. Пространство имён может включать такие элементы, как классы, структуры, интерфейсы, перечисления и делегаты, а также другие пространства имён. Ниже приведена скелетная структура программы C#, содержащая все указанные элементы:
// Скелет программы на C# using System;
namespace YourNamespace // Пространство имён программы { class YourClass // Класс { }
struct YourStruct // Структура { }
interface IYourInterface // Интерфейс { }
delegate int YourDelegate(); // Делегат
enum YourEnum { }
namespace YourNestedNamespace // Дополнительные пространства имён { struct YourStruct { } }
class YourMainClass { static void Main(string[] args) { // Какой-то код приложения } } }
Дополнительные сведения о правилах написания кода можно получить в разделе Соглашения о написании кода на C# (Руководство по программированию на C#) (http://msdn.microsoft.com/ru-ru/library/ff926074.aspx). Дополнительные сведения по самому языку можно получить в разделе Спецификация языка C# (http://msdn.microsoft.com/ru-ru/library/ms228593.aspx). Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#. Введение в систему типов
|
||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 527; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.123.194 (0.008 с.) |