1629295403-b876e2087bddebea4bc9666fb2377a02 (846199), страница 35
Текст из файла (страница 35)
Для демонстрации того, как работает эта возможность Visual Studio, представлен следующий фрагмент исходного текста из программы M i x i n g F u n c t i o n s A n d M e t h o d s :// Вывод з а г о л о в к а и и м е н иStudent.OutputBanner();Student.OutputName(student);Console.WriteLine();// Повторный вывод з а г о л о в к а иstudent.OutputBannerAndName();имениАвтозавершение— удобная вещь, но если вам требуется большая помощь, ихпользуйтесь командой Help^Index для вызова справки.
Выводимый предметны,указатель можно ограничить, например, только темами, связанными с С# или .NETВоспользуйтесь этим предметным указателем так же, как вы пользуетесь предметным указателем книги. К вашим услугам также команды поиска по текстам статесправки и содержания справочной системы. Нужные вам статьи можно пометилс тем, чтобы в будущем можно было быстро к ним возвращаться.190Часть III. Объектно-основанное программирован® Г.Справка по встроенным функциям системной библиотекиПри использовании фрагмента программы M i x i n g F u n c t i o n s A n d M e t h o d s в качестве примера, как только вы вводите в редакторе C o n s o l e . , Visual Studio сразу же выводит список всех методов C o n s o l e . Стоит ввести W, как Visual Studio переходит в списке к первому методу, начинающемуся на W (а именно — W r i t e ( ) ) .
Если вы нажметеклавишу <1>, то перейдете к методу W r i t e L i n e ( ) , а справа от списка появится справка по этому методу (рис. 8.1). В справке, в частности, указано, что имеется 19 перегруженных версий данного метода — естественно, каждая со своим набором аргументов.Рис. 8.1. Автозавершение в Visual Studio позволяет правильно выбрать требуемый методВы завершаете ввод имени W r i t e L i n e . Как только вы введете после имени открывающую скобку, Visual Studio изменит выводимое окно подсказки — теперь в нем будутпоказаны возможные аргументы функции (рис. 8.2).Puc.
8.2. Visual Studio подсказывает, какие возможные аргументы может принимать функцияНе нужно полностью вводить имя функции. Предположим, вы ввели W r i t e L ,чего вполне достаточно, чтобы однозначно идентифицировать нужный вам метод. Не завершая ввода имени, введите открывающую скобку, и Visual Studioзавершит ввод имени метода за вас. Вы можете также воспользоваться клавишами <Ctrl+Space> для появления раскрывающегося меню автозавершения.Глава 8. Методы класса191Справка по встроенным функциям системной библиотекиПри использовании фрагмента программы M i x i n g F u n c t i o n s A n d M e t h o d s в качестве примера, как только вы вводите в редакторе C o n s o l e ., Visual Studio сразу же выводит список всех методов C o n s o l e .
Стоит ввести W, как Visual Studio переходит в списке к первому методу, начинающемуся на W (а именно — W r i t e ( ) ) . Если вы нажметеклавишу <1>, то перейдете к методу W r i t e L i n e ( ) , а справа от списка появится справка по этому методу (рис. 8.1). В справке, в частности, указано, что имеется 19 перегруженных версий данного метода — естественно, каждая со своим набором аргументов.Рис. 8.1. Автозавершение в Visual Studio позволяет правильно выбрать требуемый методВы завершаете ввод имени W r i t e L i n e .
Как только вы введете после имени открывающую скобку, Visual Studio изменит выводимое окно подсказки — теперь в нем будутпоказаны возможные аргументы функции (рис. 8.2).Puc. 8.2. Visual Studio подсказывает, какие возможные аргументы может принимать функцияНе нужно полностью вводить имя функции. Предположим, вы ввели W r i t e L ,чего вполне достаточно, чтобы однозначно идентифицировать нужный вам метод. Не завершая ввода имени, введите открывающую скобку, и Visual Studioзавершит ввод имени метода за вас. Вы можете также воспользоваться клавишами <Ctrl+Space> для появления раскрывающегося меню автозавершения.Л' АВА8. Методы класса191Можно щелкнуть мышью в левой части всплывающего окна справки для ичтобы найти интересующую версию перегрузки функции W r i t e L i n e ().описанием функции вы увидите описание ее первого аргумента (если такойимеется).
Функция W r i t e L i n e () имеет 19 вариантов перегрузки для разнных типов данных. Первый из них, который вы увидите во всплывающем онне требует аргументов. Посредством клавишможнопрокручиватьсписок перегрузок.Если воспользоваться версией W r i t e L i n e , которая в качестве первого аргументполучаетформатнуюстроку,токактолькобудетвведенастрока,например" s o m e s t r i n g { 0 } " (использована сугубо в качестве примера), за которой вводитсязапятая, как Visual Studio тут же ответит на эти действия описанием второго аргументфункции, как показано на рис.
8.3.Рис. 8.3. Visual Studio предоставляет информацию no каждому аргументу функцииПомощь при использовании ваших собственныхфункций и методовVisual Studio в состоянии помочь и при работе с собственными функциями (частапомнить их и все их аргументы не менее сложно, чем для функций из .NET).Продолжим анализируемый пример. Удалим строку " s o m e s t r i n g { о } " и заним вызов метода вызовом без аргументов: C o n s o l e .
W r i t e L i n e О. В следуютстроке введем s t u d e n t . Как только будет введена точка после имени объекта, VisStudio откроет список членов объекта класса S t u d e n t . Если продолжить ввод и ввестипервую букву имени члена, Visual Studio тут же перейдет в списке к первому члену ской буквой, как показано на рис.
8.4. Будет также показано и объявление метода, чтовы могли вспомнить, как им пользоваться.По пиктограмме слева от имени в списке автозавершения можно узнать, имеете лидело с членами-данными или с методами.Гораздо проще определить это по цвету: члены-данные имеют цвет морсволны, а методы — розовый.192Часть III.
Объектно-основанное программироваРис. 8.4. Автозавершение в Visual Studio может работать и с пользовательскимиклассами и методамиВы можете встретиться с неизвестными вам методами, такими как E q u a l s илиGetHashCode. Эти методы все без исключения объекты получают от С# (совершеннобесплатно) для технических целей.Повторимся — ввод открывающей скобки позволяет Visual Studio автоматически завершить ввод имени метода.Та же возможность автозавершения работает и с функциями. Если вы введете имякласса Student, за которым следует точка, Visual Studio откроет список членов этогокласса.
Как только вы введете O u t p u t N , Visual Studio отреагирует на это списком аргументов функции OutputName ( ) , как показано на рис. 8.5.Puc. 8.5. Visual Studio обеспечивает вас информацией независимо от того, работаетевы с методами объекта или функциями классаВнесение дополнений в справочную системуФункция автозавершения Visual Studio существенно облегчает работу программиста,однако, к огромному сожалению, когда дело касается пользовательских классов илифункций, ее возможности оказываются весьма ограниченными.Visual Studio в состоянии предоставить только ограниченную справочную информацию по пользовательским классам и функциям.
Например, Visual Studio не знает о том,Глава 8. Методы класса193что делает функция O u t p u t N a m e ( ) , и не может предоставить программисту какойлибо описывающий ее текст. Но этой беде можно помочь — было бы желание.Обычные комментарии в С# начинаются с двух косых черт — / /. Но Visual Studвыделяет и понимает специальные комментарии, начинающиеся с трех косых черт///.Это—документирующиекомментарии,снабжающиеVisualStudioдополнителной информацией, которая может использоваться функцией автозавершения.Если быть точным, то впервые такая концепция появилась в языке Java, в кокром имелись специальные программы для сбора подобных комментариев в отдельный файл справки.
С# пошел несколько дальше и использует эти комматарии в своей динамической справочной системе, работающей в процессе редактирования исходных текстов.Документирующие комментарии могут содержать любую комбинацию элементомпоказанных в табл. 8 . 1 .Документирующие комментарии следуют правилам X M L 7 H T M L : команда начин»ется с дескриптора < c o m m a n d > и заканчивается дескриптором </commandЭто — обычные дескрипторы XML.В документирующих комментариях могут применяться самые разные дескриптораЧтобы узнать о них больше, воспользуйтесь командой меню Help^lndex и обратитесьразделу "XML documentation features [С#]".Вот как выглядит пример откомментированной версии программы M i x i n gFunctionsAndMethods:/ / M i x i n g F u n c t i o n s A n d M e t h o d s W i t h X M L T a g s - - совмещение// функций к л а с с а и м е т о д о в о б ъ е к т о в может п р и в е с т и к// проблемамusingSystem;namespaceMixingFunctionsAndMethods{///<summary>/ / / Простое о п и с а н и естудента///</summary>public class Student{///<summary>/ / / Имя с т у д е н т а194Часть III.