Г. Шилдт - С#4.0 Полное руководство (1160795), страница 213
Текст из файла (страница 213)
При.этом тип обозначает тип списка, который может быть маркирован- ным, нумерованным или таблицей Определяет абзац текста а другом дескрипторе Документирует параметр, на который указы- вает имя параметре. Текст, обозначаемый как пояснение, описывает параметр Обозначает иия параметра как имя кон- кретного параметра Описывает параметр разрешения, связанный с членами класса, на которые указывает иден- тификатор. Текст, обозначаемый как пояс- нение, описывает параметры разрешения <с> код </с> <сабе> коп </аобе> <ехапр1е> пояснение </ехатр1е> <ехсерС№оп агег = "имя"> пояснение </ехсерС1оп> <1пс1обе 111е = 'Спаве' раТЬ = 'раСЬ~8Сааиате = "Сагт1П ")' /> <11яС Суре = "тип""> заголовок списка элементы списка </11яС> <рага> текст </рета> <рахат паве = 'имя параметра'> пояснение </рагеы> <рагалтгег паве = "имя параметра" /> <репл№яябоп агеГ = "идентификатор"> пояснение </репп1яя1оп> где текст описывает имя элемента.
Для описания маркированных и нумерованных списков, а также таблиц имя элементе не используется. Допускается применение не- скольких элементов списка <1Сеи>. Приложение. Краткий справочник по составлению документирующих комментариев 1041 Окончание табл.
1 Дескриптор Описание Текст, обозначаемый как пояснение, пред- ставляет собой общие комментарии, которые часто используются для описания класса или структуры Текст, обозначаемый как пояснение, описы- вает значение, возвращаемое методом Объявляет ссылку на другой элемент, обозна- чаемый как идентификатор Объявляет ссылку типа "см.
также" на иден- тификатор Текст, обозначаемый как пояснение, пред- ставляет собой общие комментарии, которые часто используются для описания метода или другого члена класса Документирует параметр типа, на который указывает иия параметра. Текст, обозна- чаемый как пояснение, описывает пара- метр типа Обозначает имя параметра как имя пара- метра типа <гевагкз> пояснение </гевагкз> <гетпгпз> пояснение </гетагпз> <зее скет = "идентификатор" /> <зееа1зо стеб = "идентификатор" /> <зсвезагу> пояснение </зсввагу> <Гурерагав паве = "имя параме- тра"> пояснение </Гурерагав> <гурерагавгеб паве = "иия пара- метра"/> Компилирование документирующих комментариев свс поставь.св /нос:постевс.илл Для вывода результата в ХМ«.-файл из интегрированной среды разработки ч'«впа) В«испо необходимо активизировать окно Свойства (Ргорегбев) для текущего проекта.
Затем следует выбрать свойство Построение (Впг!З), установить флажок ХМЕ<файп документации (ХМЕ Росшпеп«абоп Рпе) и указать имя выходного ХМ«.-файла. Пример составления документации в формате ХМЕ В приведенном ниже примере демонстрируется применение нескольких документирующих комментариев: как однострочных, так и многострочных. Любопытно, что многие программисты пользуются последовательным рядом однострочных документирующих комментариев вместо многострочных, даже если комментарий занимает насколько строк.
Такой подход применяется и в ряде комментариев из данного примера. Его преимущество заключается в том, что он позволяет ясно обозначить каждую строку как «асть длинного документирующего комментария. Но это все же, скорее, дело стиля, чем общепринятая практика составления документирующих комментариев. Для получения ХМЕ-файла, содержащего документирующие комментарии, достаточно указать параметр /е«ос в командной строке компилятора.
Например, для компилирования файла постез г. се, содержащего ХМЕ-комментарии, в командной строке необходимо ввести следующее. 1042 Часть!1. Библиотека С(г Пример составления документирукщих комментариев. оягпс Яувсев; /** <геваг)г> Это пример многострочного документирования в Формате КМП. В классе теяг демонстрируется рад дескрипторов. </гевагь> */ с1аяя теяс ( /// <зпввагу> Выполнение програмьяя начинается с метода Ма1п(). /О </япввагу> ясасгс гогг) Магп() ( 1пг япв; зпв = Вскипя<гоп(5); сопяо1е.игггеьгпе("сумма последовательных чисел 5 + " равна " + япв); ) /О <явпвагу> /О метод Всвшаг1оп() возвращает сумму его аргументов.
/// <рагав паве = тда1"> /// Суммируемое значение передаетсн в качестве параметра ча1. О/ </рагав> /// <яее сгес="гпс"> </яее> /// <ге<огня> О/ Сумма воззрашаетсх в виде значения типа 1пг. /// </гегпгпя> </япввагу> ясасгс 1пс Впвшас1оп(гпс ча1) 1пг геяпгг = О; Гогсгпг г"1; г <= га1) 1ьь) геяп1Г += ).; геспгп геяп11) Если текст приведенной выше программы содержится в файле Хв1Теяс. сз, то по следующей команде будет скомпилирована программа и получен файл хв1Теяс. хв1, содержащий комментарии к ней.
свс Яш1теяе. св /Еос:Зв1теве.хв1 После компилирования получается ХМ(.-файл, содержимое которого приведено ниже. <?хв1 чегягоп="1.0"?> <сос> <аваев)>1у> <паве>оостеяг</паше> Приложение. Краткий справочник по составлению документируюп(их комментариев 1043 </аззещоту> <щещЬегз> <п1еп1Ьег паще="т:тенг"> <гещаг)н> Это пример многострочного документирования в формате ХМ1.. В классе Тезг демонстрируется ряд дескрипторов.
</гещаг)н> </щещЬег> <щеп1Ьег паве="м:тезг.ма).п"> <вппнпагу> Выполнение программы начинается с метода Магп() . </зщпппзгу> </щещоег> <щещЬег паще="м:тезг.яопнпагьоп(вуагещ.1пг32)"> <зпщщагу> Метод яппнпагьоп() возвращает сумму его аргументов. <рагащ паще=уча1"> Суммируемое значение передается в качестве параметра ча1. </рагащ> <зее снег="Т:Бузгещ.1пг32"> </зее> <гегсгпз> сумма возвращается в виде значения типа гпг. </гегпгпв> </зппнпагу> </щещЬег> </щещЬегз> </н(ос> Следует заметить, что каждому документируемому элементу присваивается уникальный идентификатор.
Такие идентификаторы применяются в других программах, которые документируются в формате ХМ(.. Предметный указатель Аксессоры вызов 304 модификаторы доступа ограничения 323 применение 320 назначение 304 разновидности 304 событий 500 Анонимные функции назначение 483 преимущество 483 разновидности 483 Аргументы именованные назначение 252 применение 252 командной строки 255 метода 162 назначение 52 необязательные назначение 247 и неоднозначность 250 и перегрузка методов 249 порядок объявления 249 способы передачи методу 220 типа 579 Атрибуты АппЬпгеУзабе 570 СопсЫопа) 571 МеГЬод)шр)АПг)Ьцье, применение 860 ОЬво)еГе 572 встроенные 570 извлечение 564 именованные параметры 566 назначение 562 позиционные параметры 566 присоединение 564 создание 563 указание 563 Байт-код 34 Библиотека ТРЕ возврат значения из задачи 899 задачи, создание и исполнение 887 идентификаторы задач, назначение и применение 890 классы Рата))е), назначение и применение 906 Тав)срасгогу, назначение и применение 895 Таз)с, назначениеи применение 887 лямбда-выражения, в качестве задачи, применение 896 методы РгврозеО, назначение и применение 895 РогЕасЬО, назначение и применение 915 Рог(), назначение и применение 909 капто)сеО, назначение и применение 906 ожидания, назначение и применение 892 назначение 886 особенности 885 отмена задачи 901 признак отмены 901 продолжение задачи, создание 897 Библиотеки классов СФ.
717 для среды .Ь)ЕТ Ргашезтог)с 66 организация 717 пространство имен Бузгегп члены 719 структуры встроенных типов данных 727 Буферы фиксированного размера назначение 693 создание 694 Ввод-вывод в файл байтовый 441 символьный 449 последовательный 461 с произвольным доступом 461 данных в массив 463 двоичных данных 436, 454 консольный 436 основанный на потоках 431 отдельными байтами 432 отдельными символами 432 переадресация 453 с запоминанием 465 Виртуальная машина )ата 34 Возможность взаимодействизг, межъязыковая 35 Выводимосгь типов 609 Вызов перегружаемого конструктора 245 Предметный указатель 1045 по значению 220 по ссылке 220 Групповая адресация, определение 478 Делегаты Асбоп формы 769 применение 769 вызов методов экземпляра 477 любых методов 474 главное преимущество 474 групповая адресация 478 ковариантность 481 контравариантность 481 назначение 483 обобщенные ЕчепГНапг!!егсТЕчепГАгбв>, применение 508 вариантные 633 объявление 610 общая форма объявления 474 определение 473 применение 474 типа ЕчепГНапг!!ег, применение 508 Деструкторы, назначение и применение 172 Десятичная система счисления 80 Динамическая диспетчеризация методов, принцип 356 идентификация типов назначение 537 причины полезности 537 Директивы зг!ебпе 529 Ве!зе и зеИ 531 Феггог 533 Г!!иреной! 529 Ф!ьпе 534 Зргайша 534 Фгей!оп и сепг!геб!оп 534 Фппг!е! 533 Фгчапппб 534 пв!пк 518 препроцессора 528 Доступ к Интернету соорбе-наборы 1027 заголовки протокола НТТР 1026 обработка исключений 1022 сетевых ошибок 1021 организация 1018 передача данных асинхронная 1015 синхронная 1015 получение дополнительной информации 1025 по принципу запроса и ответа 1014 пространство имен Еувгегп.!х!ег, члены 1012 протоколы определение 1013 подключаемые 1014 разработка поискового робота 1030 сетевой ресурс, последнее обновление 1029 универсальный идентификатор ресурса, определение 1013 И Идентификаторы !ЗК! 1013 директив препроцессора 529 назначение 65 применение 65 Иерархии классов многоуровневые 347 обобщенных 620 порядок вызова конструкторов 350 простые 346 ссылки на объекты разных классов 351 Импликация 103 Индексаторы аксессоры Ееь и веГ 304 без базового массива 310 интерфейсные 385 многомерные ЗП назначение 303 .