Разработка приложений на C# в среде Visual Studio 2005

Некоторые инструменты Visual Studio 2005

Разбить на страницы
Показывать лекцию целиком

Оболочка Visual Studio 2005 выполнена в виде MDI - приложения, имеющего каркас с расположенной внутри рабочей областью, в которой размещаются множественные редакторы кода - текстовые ( View Code ) и графические ( Designer - конструктор). Инструментальные панели как вспомогательные окна для удобства их использования могут находиться в свободном плавающем ( Floating ), приклеивающемся ( Dockable ) или встроенном в рабочую область ( Tabbed Document ) состоянии.

Приклеенная панель может автоматически выдвигаться ( Auto Hide ) в сторону рабочей области из каркаса оболочки при наведении на нее курсора мыши. Программист меняет поведение панелей по своему усмотрению через контекстное меню заголовка окна

или стаскиванием за этот заголовок с рамки каркаса оболочки. Включение большинства инструментальных панелей выполняется через меню View или пиктограммы в верхней части каркаса.

Утилита обзора решений Solution Explorer

Проводник Solution Explorer является аналогом проводника Windows Explorer и специализируется на управлении проектами, входящими в решение. Через окно этой инструментальной панели можно создавать новые каталоги и файлы, добавлять существующие файлы в проект, исключать файлы из проекта или удалять их физически. В этом же окне выполняется добавление ссылок на сборки ( DLL ) стандартных ( .NET Framework ) или пользовательских библиотек, вызывать средства визуального проектирования классов ( Class Designer и Class Details ).

Через пиктограмму Propertie s панели инструментов окна Solution Explorer можно вызывать окно редактора конфигурации проекта. То же самое можно сделать командой меню Project/Имя_проекта Properties или командой Properties контекстного меню имени проекта. Ниже приведены снимки кнопок (пиктограмм) встроенной панели инструментов оконной утилиты Solution Explore r

Пиктограммы панели Solution Explorer
Пиктограмма Значение
Вызывает окно редактора конфигурации проекта
Отображает или скрывает второстепенные каталоги проекта
Читает с диска обновленную структуру проекта
Вызывает окно конструктора графического проектирования классов

Панель Solution Explorer имеет развитое контекстно-зависимое меню, которое вызывается щелчком правой кнопки мыши на соответствующем элементе содержимого окна. Наибольшее число команд контекстного меню содержится для узла всего проекта, часть из которых дублируется в разделах Project и Edit основного меню оболочки

Утилита обзора классов Class View

Этот инструмент обеспечивает возможность обзора всех типов ( классы, структуры, перечисления-перечни, интерфейсы, делегаты ), входящих в проект, вместе с их пространствами имен. Верхняя половина панели отображает множество пространств имен и их типов, а нижняя - члены ( методы, свойства, события, поля ) выбранного в настоящий момент типа.

На снимке приведено состояние панели Class View для простой программы, которая будет рассмотрена ниже. Обратите внимание на пиктограммы, которые соответствуют определенным типам и членам, входящим в программу на C#. Это типовые графические представления элементов программного кода как библиотечного (от высших разработчиков Большого Билла - крутых ребят), так и пользовательского (от нас с вами простых программистов - будущих крутых...) происхождения.

Утилита ObjectBrowser

Эта утилита носит более универсальный характер по просмотру элементов проекта и всех библиотечных сборок, подключенных к проекту, чем Class View. Утилита вызывается командой меню View/ObjectBrowser. Она позволяет изучать библиотечные типы и отображает комментарии, сопровождающие код. Мы можем настраивать фильтр утилиты для отображения желаемых сборок.

Окно определений программного кода Code Definition Window

Очень удобным инструментом является окно определения программного кода Code Definition Window, которое вызывается одноименной командой из главного меню оболочки View/Code Definition Window. Если открыть это окно, то при щелчке на любом именованном фрагменте программы: типе или вызове метода, окно заполнится определяющим этот тип или метод кодом. Например, щелчек на типе int дает такой результат

Факторизация программного кода

Раздел главного меню Refactor или одноименный раздел контекстного меню содержат команды, обеспечивающие автоматическую упаковку выделенного фрагмента программного кода

(рис 1.2 )
Команды факторизации в Visual Studio 2005
Команда Значение
Rename Переименование - позволяет переименовать лексему программного кода (метод, поле, локальную переменную и т.д.). Пользователь может отключать фрагменты кода, где переименование нежелательно, в окне Preview Changes - Rename
Extract Method Упаковка в метод - позволяет выделенный фрагмент программного кода упаковать в метод
Encapsulate Field Инкапсуляция поля - дополняет выделенное поле класса общедоступным свойством
Extract Interface Упаковка в интерфейс - определяет новый интерфейсный тип на основе множества существующих членов типа
Promote Local Variable to Parameter Перемещение локальной переменной в параметр - превращение локальной переменной в параметр метода
Remove Parameters Удаление параметров - удалает выделенный аргумент из списка параметров
Reorder Parameters Перестановка параметров - меняет порядок следования аргументов метода

Например, с помощью команды Extract Method можно получить следующее

public MyClass(string[] args)
{
    // Определение консольного интерфейса (CUI)
    Console.Title = "Приложение ConsoleApplication5";
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.BackgroundColor = ConsoleColor.Blue;
    Console.WriteLine("**************************");
    Console.WriteLine("******Мое приложение******");
    Console.WriteLine("**************************");
    Console.BackgroundColor = ConsoleColor.Black;
    PrintArgsFor(args);
    PrintArgsForeach(args);
    PrintArgsEnvironment();
}
public MyClass(string[] args)
{
    ConfigureCUI();
    PrintArgsFor(args);
    PrintArgsForeach(args);
    PrintArgsEnvironment();
}

private static void ConfigureCUI()
{
    // Определение консольного интерфейса (CUI)
    Console.Title = "Приложение ConsoleApplication5";
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.BackgroundColor = ConsoleColor.Blue;
    Console.WriteLine("**************************");
    Console.WriteLine("******Мое приложение******");
    Console.WriteLine("**************************");
    Console.BackgroundColor = ConsoleColor.Black;
}

Вставка заготовок конструкций языка и окружение фрагментов кода

Рассмотрим две новых команды контекстного меню Insert Snippet (вставка фрагмента) и Surround With (окружить с помощью)

С помощью команды Insert Snippet выполняется добавление заготовок синтаксически сложных фрагментов программного кода в место размещения текстового курсора.

Например

enum MyEnum
{
        
}
foreach (object var in collection_to_loop)
{
		 
}
do
{
	         
} while (true);

С помощью команды Surround Wit h любой выделенный фрагмент программного кода можно окружить сложной синтаксической конструкцией языка, например, оператором цикла

c[i] = a[i] + b[i];
for (int i = 0; i < length; i++)
{
    c[i] = a[i] + b[i]; 
}

Средства визуального проектирования типов

В Visual Studio 2005 введены средства, позволяющие реализовывать графические возможности языка UML. Они представлены окнами View Class Diagram и Class Details. Первое окно вызывается командой контекстного меню в панели Solution Explorer или щелчком на одноименной пиктограмме

Второе окно вызывается командой основного меню View/Other Windows/Class Details при открытом окне View Class Diagram.

В первом окне View Class Diagram представлены графические схемы типов проекта или решения в виде раскрывающихся прямоугольников, внутри которых изображены члены этих типов

Во втором окне Class Details можно переопределять значения членов выделенного типа

В режиме View Class Diagram в панели инструментов Toolbox появляется вкладка Class Designer, которая содержит графические компоненты, необходимые для визуального проектирования типов

Через вкладку Class Designer панели Toolbox можно устанавливать сложные зависимости между типами проекта. Пусть мы поместили в окно дизайнера два объекта Class1 и Class2. Установим между ними связь наследования. Для этого нужно выбрать пункт Inheritance (Наследование) во вкладке Class Designer панели Toolbox, щелкнуть мышью на прямоугольнике класса, который будет производным, а затем, не отпуская кнопки мыши, протянуть курсор на прямоугольник класса, который будет базовым. Оболочка соединит два класса стрелкой наследования и автоматически откорректирует исходный код проекта

Следует отметить, что все изменения в диаграмме классов запоминаются в специальном файле со стандартным именем ClassDiagram?.cd.

Страницы:

Оболочка Visual Studio 2005 выполнена в виде MDI - приложения, имеющего каркас с расположенной внутри рабочей областью, в которой размещаются множественные редакторы кода - текстовые ( View Code ) и графические ( Designer - конструктор). Инструментальные панели как вспомогательные окна для удобства их использования могут находиться в свободном плавающем ( Floating ), приклеивающемся ( Dockable ) или встроенном в рабочую область ( Tabbed Document ) состоянии.

Приклеенная панель может автоматически выдвигаться ( Auto Hide ) в сторону рабочей области из каркаса оболочки при наведении на нее курсора мыши. Программист меняет поведение панелей по своему усмотрению через контекстное меню заголовка окна

или стаскиванием за этот заголовок с рамки каркаса оболочки. Включение большинства инструментальных панелей выполняется через меню View или пиктограммы в верхней части каркаса.

Утилита обзора решений Solution Explorer

Проводник Solution Explorer является аналогом проводника Windows Explorer и специализируется на управлении проектами, входящими в решение. Через окно этой инструментальной панели можно создавать новые каталоги и файлы, добавлять существующие файлы в проект, исключать файлы из проекта или удалять их физически. В этом же окне выполняется добавление ссылок на сборки ( DLL ) стандартных ( .NET Framework ) или пользовательских библиотек, вызывать средства визуального проектирования классов ( Class Designer и Class Details ).

Через пиктограмму Propertie s панели инструментов окна Solution Explorer можно вызывать окно редактора конфигурации проекта. То же самое можно сделать командой меню Project/Имя_проекта Properties или командой Properties контекстного меню имени проекта. Ниже приведены снимки кнопок (пиктограмм) встроенной панели инструментов оконной утилиты Solution Explore r

Пиктограммы панели Solution Explorer
Пиктограмма Значение
Вызывает окно редактора конфигурации проекта
Отображает или скрывает второстепенные каталоги проекта
Читает с диска обновленную структуру проекта
Вызывает окно конструктора графического проектирования классов

Панель Solution Explorer имеет развитое контекстно-зависимое меню, которое вызывается щелчком правой кнопки мыши на соответствующем элементе содержимого окна. Наибольшее число команд контекстного меню содержится для узла всего проекта, часть из которых дублируется в разделах Project и Edit основного меню оболочки

Утилита обзора классов Class View

Этот инструмент обеспечивает возможность обзора всех типов ( классы, структуры, перечисления-перечни, интерфейсы, делегаты ), входящих в проект, вместе с их пространствами имен. Верхняя половина панели отображает множество пространств имен и их типов, а нижняя - члены ( методы, свойства, события, поля ) выбранного в настоящий момент типа.

На снимке приведено состояние панели Class View для простой программы, которая будет рассмотрена ниже. Обратите внимание на пиктограммы, которые соответствуют определенным типам и членам, входящим в программу на C#. Это типовые графические представления элементов программного кода как библиотечного (от высших разработчиков Большого Билла - крутых ребят), так и пользовательского (от нас с вами простых программистов - будущих крутых...) происхождения.

Утилита ObjectBrowser

Эта утилита носит более универсальный характер по просмотру элементов проекта и всех библиотечных сборок, подключенных к проекту, чем Class View. Утилита вызывается командой меню View/ObjectBrowser. Она позволяет изучать библиотечные типы и отображает комментарии, сопровождающие код. Мы можем настраивать фильтр утилиты для отображения желаемых сборок.

Окно определений программного кода Code Definition Window

Очень удобным инструментом является окно определения программного кода Code Definition Window, которое вызывается одноименной командой из главного меню оболочки View/Code Definition Window. Если открыть это окно, то при щелчке на любом именованном фрагменте программы: типе или вызове метода, окно заполнится определяющим этот тип или метод кодом. Например, щелчек на типе int дает такой результат

Факторизация программного кода

Раздел главного меню Refactor или одноименный раздел контекстного меню содержат команды, обеспечивающие автоматическую упаковку выделенного фрагмента программного кода

(рис 1.2 )
Команды факторизации в Visual Studio 2005
Команда Значение
Rename Переименование - позволяет переименовать лексему программного кода (метод, поле, локальную переменную и т.д.). Пользователь может отключать фрагменты кода, где переименование нежелательно, в окне Preview Changes - Rename
Extract Method Упаковка в метод - позволяет выделенный фрагмент программного кода упаковать в метод
Encapsulate Field Инкапсуляция поля - дополняет выделенное поле класса общедоступным свойством
Extract Interface Упаковка в интерфейс - определяет новый интерфейсный тип на основе множества существующих членов типа
Promote Local Variable to Parameter Перемещение локальной переменной в параметр - превращение локальной переменной в параметр метода
Remove Parameters Удаление параметров - удалает выделенный аргумент из списка параметров
Reorder Parameters Перестановка параметров - меняет порядок следования аргументов метода

Например, с помощью команды Extract Method можно получить следующее

public MyClass(string[] args)
{
    // Определение консольного интерфейса (CUI)
    Console.Title = "Приложение ConsoleApplication5";
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.BackgroundColor = ConsoleColor.Blue;
    Console.WriteLine("**************************");
    Console.WriteLine("******Мое приложение******");
    Console.WriteLine("**************************");
    Console.BackgroundColor = ConsoleColor.Black;
    PrintArgsFor(args);
    PrintArgsForeach(args);
    PrintArgsEnvironment();
}
public MyClass(string[] args)
{
    ConfigureCUI();
    PrintArgsFor(args);
    PrintArgsForeach(args);
    PrintArgsEnvironment();
}

private static void ConfigureCUI()
{
    // Определение консольного интерфейса (CUI)
    Console.Title = "Приложение ConsoleApplication5";
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.BackgroundColor = ConsoleColor.Blue;
    Console.WriteLine("**************************");
    Console.WriteLine("******Мое приложение******");
    Console.WriteLine("**************************");
    Console.BackgroundColor = ConsoleColor.Black;
}

Вставка заготовок конструкций языка и окружение фрагментов кода

Рассмотрим две новых команды контекстного меню Insert Snippet (вставка фрагмента) и Surround With (окружить с помощью)

С помощью команды Insert Snippet выполняется добавление заготовок синтаксически сложных фрагментов программного кода в место размещения текстового курсора.

Например

enum MyEnum
{
        
}
foreach (object var in collection_to_loop)
{
		 
}
do
{
	         
} while (true);

С помощью команды Surround Wit h любой выделенный фрагмент программного кода можно окружить сложной синтаксической конструкцией языка, например, оператором цикла

c[i] = a[i] + b[i];
for (int i = 0; i < length; i++)
{
    c[i] = a[i] + b[i]; 
}

Средства визуального проектирования типов

В Visual Studio 2005 введены средства, позволяющие реализовывать графические возможности языка UML. Они представлены окнами View Class Diagram и Class Details. Первое окно вызывается командой контекстного меню в панели Solution Explorer или щелчком на одноименной пиктограмме

Второе окно вызывается командой основного меню View/Other Windows/Class Details при открытом окне View Class Diagram.

В первом окне View Class Diagram представлены графические схемы типов проекта или решения в виде раскрывающихся прямоугольников, внутри которых изображены члены этих типов

Во втором окне Class Details можно переопределять значения членов выделенного типа

В режиме View Class Diagram в панели инструментов Toolbox появляется вкладка Class Designer, которая содержит графические компоненты, необходимые для визуального проектирования типов

Через вкладку Class Designer панели Toolbox можно устанавливать сложные зависимости между типами проекта. Пусть мы поместили в окно дизайнера два объекта Class1 и Class2. Установим между ними связь наследования. Для этого нужно выбрать пункт Inheritance (Наследование) во вкладке Class Designer панели Toolbox, щелкнуть мышью на прямоугольнике класса, который будет производным, а затем, не отпуская кнопки мыши, протянуть курсор на прямоугольник класса, который будет базовым. Оболочка соединит два класса стрелкой наследования и автоматически откорректирует исходный код проекта

Следует отметить, что все изменения в диаграмме классов запоминаются в специальном файле со стандартным именем ClassDiagram?.cd.

Вернуться к учебному плану