Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство_по_C#.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
10 Мб
Скачать
☆

2.10Расширение кода

Visual Studio 2010 можно вставлять готовые блоки кода C# выбором соответствующих пунктов в меню, вызовом контекстных меню по щелчку правой кнопкой мыши и/или использованием соответствующих клавиатурных комбинаций быстрого вызова. Число доступных шаблонов для расширения кода впечатляет. В целом их можно поделить на две основных группы:

  • Шаблоны для вставки фрагментов кода (code snippet). Эти шаблоны позволяют вставлять общие блоки кода в месте расположения курсора мыши.

  • Шаблоны для окружения кода (Surround With). Эти шаблоны позволяют помещать блок избранных операторов в рамки соответствующего контекста.

Чтобы посмотреть на эту функциональность в действии, давайте предположим, что требуется обеспечить проход по поступающим в метод Main() параметрам в цикле foreach.

Вместо того чтобы вводить необходимый код вручную, можно активизировать фрагмент кода foreach. После выполнения этого действия IDE-среда поместит шаблон кода foreach в месте, где в текущий момент находится курсор мыши.

Поместим курсор мыши после первой открывающей фигурной скобки в методе Main(). Одним из способов активизации фрагмента кода является выполнение щелчка правой кнопкой мыши и выбора в контекстном меню пункта Insert Snippet (Вставить фрагмент кода) (или Surround With (Окружить с помощью)). Это приводит к отображению списка всех относящихся к данной категории фрагментов кода (для закрытия контекстного меню достаточно нажать клавишу <Esc>). В качестве клавиатурной комбинации быстрого вызова можно просто ввести имя интересующего фрагмента кода, которым в данном случае является foreach:

Отыскав фрагмент кода, который требуется активизировать, нажмите два раза клавишу <Tab>. Это приведет к автоматическому завершению всего фрагмента кода и оставлению ряда меток-заполнителей, в которых останется только ввести необходимые значения, чтобы фрагмент был готов. Нажимая клавишу <Tab>, можно переходить от одной метки-заполнителя к другой и заполнять пробелы (по завершении нажмите клавишу <Esc> для выхода из режима редактирования фрагмента кода).

В результате щелчка правой кнопкой мыши и выбора в контекстном меню пункта Surround With (Разместить во фрагменте) будет тоже появляться список возможных вариантов. При использовании средства Surround With обычно сначала выбирается блок операторов кода для представления того, что должно применяться для их окружения (например, блок try/catch). Обязательно уделите время изучению предопределенных шаблонов расширения кода, поскольку они могут радикально ускорить процесс разработки программ.

2.11Утилита Class Designer

Visual Studio 2010 имеется возможность конструировать классы визуальным образом. Для этого в составе Visual Studio 2010 поставляется утилита под названием Class Designer (Конструктор классов), которая позволяет просматривать и изменять отношения между типами (классами, интерфейсами, структурами, перечислениями и делегатами) в проекте. С помощью этой утилиты можно визуально добавлять или удалять члены из типа с отражением этих изменений в соответствующем файле кода на C#, а также в диаграмме классов.

Для работы с этой утилитой сначала необходимо вставить новый файл диаграммы классов. Делать это можно несколькими способами, одним из которых является щелчок на кнопке View Class Diagram (Просмотр диаграммы классов) в правой части окна Solution Explorer, как показано на рисунке (при этом важно, чтобы в окне был выбран проект, а не решение). После выполнения этого действия появляются пиктограммы, представляющие классы, которые входят в текущий проект. Щелкая внутри них на значке с изображением стрелки для того или иного типа, можно отображать или скрывать члены этого типа:

Эта утилита работает вместе с двумя другими средствами Visual Studio 2010 — окном Class Details (Детали класса), которое можно открыть путем выбора в меню View (Вид) пункта Other Windows (Другие окна), и панелью Class Designer Toolbox (Элементы управления конструктора классов), которую можно отобразить выбором в меню View (Вид) пункта Toolbox (Панель элементов). В окне Class Details не только отображаются детали выбранного в текущий момент элемента в диаграмме, но также можно изменять его существующие члены и вставлять новые на лету:

Что касается панели Class Designer Toolbox, которую, как уже было сказано, можно активизировать через меню View (Вид), то она позволяет вставлять в проект новые типы (и создавать между ними желаемые отношения) визуальным образом. (Следует иметь в виду, что для просмотра этой панели требуется, чтобы окно диаграммы классов было активным.) По мере выполнения этих действий IDE-среда автоматически создает незаметным образом соответствующие новые определения типов на C#:

Для примера давайте перетащим из панели Class Designer Toolbox в окно Class Designer новый элемент Class (Класс), в открывшемся окне назначим ему имя MyCar, а затем с помощью окна Class Details добавим в него общедоступное поле типа string по имени AutoName:

Теперь давайте активизируем утилиту Class Designer еще раз и перетащим на поверхность конструктора новый элемент типа Class, присвоив ему имя MySportCar. Затем выберем в Class Designer Toolbox пиктограмму Inheritance (Наследование) и щелкнем в верхней части пиктограммы MySportCar. Далее, не отпуская левую кнопку мыши, перетащим курсор мыши на поверхность пиктограммы класса MyCar и отпустим ее. Правильное выполнение всех перечисленных выше действий приведет к тому, что класс MySportCar станет наследоваться от класса MyCar:

Чтобы завершить данный пример, осталось обновить сгенерированный MySportCar, добавив в него общедоступный метод с именем GetAutoName ():

public class MySportCar : MyCar

{

public string GetAutoName()

{

AutoName = "Nissan";

return AutoName;

}

}