Поделиться через


Создание и настройка членов типа в конструкторе классов

Можно добавить эти члены в типы на схеме классов и настроить данные члены в окне Сведения о классах:

Тип Элементы, которые тип может содержать
Класс метод, свойство (для C# и Visual Basic), поле, событие (для C# и Visual Basic), конструктор (метод), деструктор (метод), константа
Перечисление member
Интерфейс метод, свойство, событие (для C# и Visual Basic)
Абстрактный класс метод, свойство (для C# и Visual Basic), поле, событие (для C# и Visual Basic), конструктор (метод), деструктор (метод), константа
Структура (структура в коде C#) метод, свойство (для C# и Visual Basic), поле, событие (для C# и Visual Basic), конструктор (метод), константа
Делегирование параметр
Модуль (только в Visual Basic) метод, свойство, поле, событие, конструктор, константа

Примечание.

Способствуют более лаконичному объявлению свойств, если в методах доступа "get" и "set" свойства не требуется дополнительная логика, определяемая посредством автоматически внедренных свойств (только C#). Чтобы отобразить полную сигнатуру, необходимо в меню Диаграмма классов выбрать Изменить формат членов>Показать полную сигнатуру. Дополнительные сведения об автоматически реализуемых свойствах см. в статье Автоматически реализуемые свойства.

Стандартные задачи

Задача Вспомогательное содержимое
Начало работы. Перед созданием и настройкой членов типа необходимо открыть окно Сведения о классах. - Открытие окна "Сведения о классах"
- Примечания об использовании окна сведений о классах
- Отображение информации только для чтения
- Сочетания клавиш и кнопок мыши в диаграмме классов и окне "Сведения о классах"
Создание и изменение членов типа. С помощью окна Сведения о классах можно создавать новые члены, изменять существующие члены, а также добавлять параметры в метод. - Создание членов
- Изменение членов типов
- Добавление параметров в методы

Открытие окна "Сведения о классах"

По умолчанию окно Сведения о классах открывается автоматически при открытии новой диаграммы классов. См. статью "Добавление схем классов в проекты"). Кроме того, можно открыть окно Сведения о классах следующим образом:

  • Щелкните любой класс на диаграмме правой кнопкой мыши для вызова контекстного меню и выберите пункт Сведения о классах.

  • В строке меню выберите Вид>Другие окна>Сведения о классах.

Создание членов

Элемент можно создать с помощью следующих инструментов:

  • Конструктор классов

  • Панель инструментов окна Сведения о классах

  • Окно Сведения о классах

Примечание.

С помощью процедур, описанных в данном подразделе, можно создать конструкторы и деструкторы. Не забывайте, что конструкторы и деструкторы — это специальные типы методов, которые отображаются в секции Методы в фигурах диаграммы классов и в разделе Методы таблицы окна Сведения о классах.

Примечание.

Единственная сущность, которую можно добавить к делегату — это параметр. Обратите внимание, что процедура под названием "Создание члена с помощью панели инструментов окна Сведения о классах" не подходит для данного действия.

Создание члена с помощью конструктора классов

  1. Правой кнопкой мыши щелкните тип, в который нужно добавить член, выберите пункт Добавить и нужный тип члена.

    Будет создана и добавлена в тип новая сигнатура элемента. При этом элементу будет присвоено имя по умолчанию, которое можно изменить в конструкторе классов, окне Сведения о классах или в окне Свойства.

  2. Дополнительно укажите другие сведения об элементе, например его тип.

Создание члена с помощью панели инструментов окна "Сведения о классах"

  1. В рабочей области конструирования выберите тип, в который необходимо добавить элемент.

    Тип станет активным, и его содержимое отобразится в окне Сведения о классах.

  2. На панели инструментов окна сведений о классе щелкните верхний значок и выберите новый <элемент> из раскрывающегося списка.

    Курсор переместится в поле Имя в строке типа добавляемого члена. Например, если выбрана команда Создать свойство, то курсор переместится в новую строку в разделе Свойства окна Сведения о классах.

  3. Введите имя добавляемого элемента и нажмите клавишу ВВОД (или переместите фокус, например, нажав клавишу TAB).

    Будет создана и добавлена в тип новая сигнатура элемента. Теперь член существует в коде и отображается в конструкторе классов, окне Сведения о классах и в окне "Свойства".

  4. Дополнительно укажите другие сведения об элементе, например его тип.

Создание члена с помощью окна "Сведения о классах"

  1. В рабочей области конструирования выберите тип, в который необходимо добавить элемент.

    Тип станет активным, и его содержимое отобразится в окне Сведения о классах.

  2. В окне сведений о классе в разделе, содержащего тип элемента, который требуется добавить, нажмите кнопку <"Добавить".> Например, если вы хотите добавить поле, нажмите кнопку <"Добавить".>

  3. Введите имя добавляемого элемента и нажмите клавишу ВВОД.

    Будет создана и добавлена в тип новая сигнатура элемента. Теперь член существует в коде и отображается в конструкторе классов, окне Сведения о классах и окне "Свойства".

  4. Дополнительно укажите другие сведения об элементе, например его тип.

    Примечание.

    Для создания элементов также можно использовать сочетания клавиш. Дополнительные сведения см. в разделе Сочетания клавиш и кнопок мыши в диаграмме классов и окне "Сведения о классах".

Изменение членов типов

Конструктор классов позволяет изменять члены типов, отображаемые на схеме. Можно изменить члены любого типа, которые отображаются на схеме классов и не являются доступными только для чтения. Изменить члены типа можно с помощью редактирования прямо на рабочей области конструирования, а также с помощью окна "Свойства" и окна Сведения о классах.

Все члены, отображаемые в окне Сведения о классах, представляют члены типов на диаграмме классов. Существует четыре типа членов: методы, свойства, поля и события.

Все строки члена отображаются под заголовками, которые группируют члены по типу. Например, все свойства отображаются под заголовком Свойства, который можно свернуть или развернуть как узел в таблице.

Каждая строка члена отображает следующие элементы:

  • Значок члена

    Каждый тип члена представлен своим значком. Наведите указатель мыши на значок члена, чтобы отобразить сигнатуру члена. Щелкните значок члена или пробел слева от значка члена, чтобы выбрать строку.

  • Имя члена

    Столбец Имя в строке члена отображает имя члена. Это имя также отображается в свойстве Имя окна "Свойства". Данную ячейку можно использовать для изменения имени любого члена с разрешениями на чтение и запись.

    При наведении указателя мыши на имя члена отображается полное имя, если столбец Имя слишком узкий, чтобы показать полное имя.

  • Тип члена

    Ячейка MemberType используется технологией IntelliSense, которая позволяет выбирать тип из списка всех доступных типов в текущем проекте или в проектах, на которые имеются ссылки.

  • Модификатор члена

    Измените модификатор видимости члена на Public (public), Private (private), Friend (internal) Protected (protected), Protected Friend (protected internal) или Default.

  • <Добавление элемента>

    Последняя строка в окне сведений о классе содержит элемент> добавления текста <в ячейку Name. Если выбрана данная ячейка, то можно создать новый член. Дополнительные сведения см. в разделе Создание членов.

  • Свойства члена в окне "Свойства"

    В окне Сведения о классах отображается подмножество свойств члена, которые отображаются в окне "Свойства". Изменение значения свойства в одном месте изменяет значение свойства глобально. Это касается отображения его значения в других местах.

  • Сводка

    Ячейка Сводка содержит сводную информацию о члене. Щелкните многоточие в ячейке Сводка, чтобы просмотреть или изменить сведения в полях Сводка, Тип возвращаемого значения и Примечания для члена.

  • Скрыть

    Если установлен флажок Скрыть, член в типе отображаться не будет.

Изменение члена типа

  1. Выберите тип в конструкторе классов.

  2. Если окно Сведения о классах не отображается, нажмите кнопку окна Сведения о классах на панели инструментов конструктора классов.

  3. Измените значения в полях сетки окна Сведения о классах. После каждого изменения нажимайте клавишу ВВОД или перемещайте фокус от измененного поля (например, нажимая клавишу TAB). Изменения немедленно отражаются в коде.

    Примечание.

    Если необходимо изменить только имя члена, это можно сделать с помощью редактирования прямо на схеме.

Добавление параметров в методы

Добавить параметры в методы можно с помощью окна Сведения о классах. Параметры можно настроить так, чтобы они были обязательными или необязательными. Если предоставить значение для свойства Дополнительное значение по умолчанию параметра, конструктор сформирует код как необязательный параметр.

Строки параметров содержат следующие элементы:

  • Имя

    Столбец Имя в строке параметра отображает имя параметра. Это имя также отображается в свойстве Имя окна "Свойства". Данную ячейку можно использовать для изменения имени любого параметра с разрешениями на чтение и запись.

    Если столбец Имя слишком узкий, чтобы показать полное имя, необходимо навести указатель мыши на имя параметра.

  • Тип

    Ячейка Тип параметра использует технологию IntelliSense, которая позволяет выбирать тип из списка всех типов, доступных в текущем проекте или в проектах, на которые имеются ссылки.

  • Модификатор

    Ячейка Модификатор в строке параметра принимает и отображает новый модификатор параметра. Чтобы ввести новый модификатор параметра, используйте раскрывающийся список для выбора из значений None, ref, out или params в C# и значений ByVal, ByRef или ParamArray в VB.

  • Сводка

    Ячейка Сводка в строке параметра позволяет ввести комментарии к коду, отображаемые в IntelliSense при вводе параметра в редактор кода.

  • <Добавить параметр>

    Последняя строка параметра элемента содержит параметр> добавления текста< в ячейку Name. Щелчок на данной ячейке позволяет создать новый параметр. Дополнительные сведения см. в разделе Добавление параметра в метод.

В окне Свойства отображаются те же свойства параметра, что и в окне Сведения о классах: Имя, Тип, Модификатор, Сводка, а также свойство Дополнительное значение по умолчанию. Изменение свойства в одном месте обновляет значение свойства глобально, включая отображение его значения в других местах.

Примечание.

Инструкции по добавлению параметра в делегат см. в разделе Создание членов.

Примечание.

Несмотря на то что деструктор является методом, у него не может быть параметров.

Добавление параметра в метод

  1. В области диаграммы щелкните тип, содержащий метод, в который необходимо добавить параметр.

    Тип получает фокус, и его содержимое отображается в окне Сведения о классах.

  2. В окне Сведения о классах разверните строку метода, в который необходимо добавить параметр.

    Отображается строка отступа параметров>, содержащая только пару круглых скобок и добавляемые слова.<

  3. Щелкните <добавить параметр>, введите имя нового параметра и нажмите клавишу ВВОД.

    Новый параметр добавлен в метод и в код метода. Он отображается в окне Сведения о классах и в окне "Свойства".

  4. Дополнительно можно указать другие сведения о параметре, например его тип.

Добавление необязательного параметра в метод

  1. На поверхности схемы щелкните тип, содержащий метод, в который необходимо добавить необязательный параметр.

    Тип получает фокус, и его содержимое отображается в окне Сведения о классах.

  2. В окне Сведения о классах разверните строку метода, в который необходимо добавить необязательный параметр.

    Отображается строка отступа параметров>, содержащая только пару круглых скобок и добавляемые слова.<

  3. Щелкните <добавить параметр>, введите имя нового параметра и нажмите клавишу ВВОД.

    Новый параметр добавлен в метод и в код метода. Он отображается в окне Сведения о классах и в окне "Свойства".

  4. В окне свойств введите значение свойства Дополнительное значение по умолчанию. После настройки свойства "Дополнительное значение по умолчанию" параметра этот параметр станет необязательным.

    Примечание.

    Необязательные параметры должны находиться в конце списка параметров.

Примечания об использовании окна сведений о классах

Обратите внимание на следующие советы по работе с окном Сведения о классах.

Изменяемые и неизменяемые ячейки

Все ячейки в окне Сведения о классах являются изменяемыми за немногими исключениями:

  • Весь тип доступен только для чтения в случаях, когда, например, тип находится в сборке, на которую существует ссылка. При выборе фигуры в конструкторе классов окно Сведения о классах отображает сведения о ней в состоянии только для чтения.

  • Для индексаторов имя доступно только для чтения, а остальные параметры (тип, модификатор, общие сведения) являются изменяемыми.

  • Параметры всех универсальных шаблонов в окне Сведения о классах доступны только для чтения. Чтобы изменить параметр универсального шаблона, необходимо отредактировать его исходный код.

  • Имя параметра типа, которое определено в универсальном типе, доступно только для чтения.

  • Если код типа является нечитаемым (нераспознанным), в окне Сведения о классах отображается содержимое типа как доступное только для чтения.

Окно "Сведения о классах" и исходный код

  • Чтобы просмотреть исходный код, необходимо щелкнуть фигуру правой кнопкой мыши в окне Сведения о классах (или конструкторе классов) и затем выбрать пункт "Просмотреть код". Откроется файл исходного кода и будет отображено место выбранного элемента.

  • Изменение исходного кода сразу отражается в сведениях о сигнатуре в конструкторе классов и в окне Сведения о классах. Если окно Сведения о классах закрыто, то обновленные сведения отобразятся при следующем открытии окна.

  • Если код типа является нечитаемым (нераспознанным), в окне Сведения о классах отображается содержимое типа как доступное только для чтения.

Функциональные возможности буфера обмена в окне "Сведения о классах"

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

Отображение информации только для чтения

Конструктор классов и окно Сведения о классах могут отображать типы (и члены типов) для следующих элементов:

  • проекта, который содержит схему классов;

  • проекта, на который имеются ссылки из проекта, содержащего схему классов;

  • сборки, на которую имеется ссылка из проекта, содержащего схему классов.

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

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

Система управления версиями

Поскольку диаграмма классов сохраняется как файл в проекте, то для сохранения всех изменений, выполненных в конструкторе классов или окне Сведения о классах, необходимо извлекать проект.

Проекты, доступные только для чтения

Проект может быть доступен только для чтения не только по причине того, что он находится под влиянием системы управления версиями файлов. При закрытии проект отображает диалоговое окно, в котором спрашивается, нужно ли переписать файл проекта, отменить изменения (не сохранять) или не закрывать проект. Если выбрать вариант "переписать", файлы проекта будут перезаписаны и станут доступными для чтения и записи. Будет добавлен новый файл схемы классов.

Типы, доступные только для чтения

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

Если файл кода содержит синтаксическую ошибку, фигура отображает код, файл которого будет временно доступен только для чтения до устранения синтаксической ошибки. Фигуры в данном состоянии отображают красный текст и красный значок, который отображает подсказку "Файл исходного кода содержит ошибку разбора".

Ссылочный тип (например, тип .NET), который существует в другом узле проекта или в узле сборки, на которую имеется ссылка, отображается в области конструктора классов как доступный только для чтения. Локальный тип, который существует в открытом проекте, доступен для чтения и записи, и его фигура отображается на рабочей области конструирования.

Индексаторы доступны для чтения и записи в коде и в окне Сведения о классах, однако имя индексатора доступно только для чтения.

С помощью конструктора классов или окна Сведения о классах невозможно изменить разделяемые методы, поэтому для их изменения необходимо использовать редактор кода.

С помощью конструктора классов или окна Сведения о классах невозможно изменить машинный код C++, поэтому для его изменения необходимо использовать редактор кода.