Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 757; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.) |