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


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

Члены типов можно добавлять и настраивать с помощью окна Сведения о классе.

Каждый тип, который может быть представлен на схеме классов, может содержать определенные типы элементов.В следующей таблице описаны типы и содержащиеся в них элементы:

Тип

Элементы, которые тип может содержать

Класс

метод, свойство (для C# и Visual Basic), поле, событие (для C# и Visual Basic), конструктор (метод), деструктор (метод), константа

Enum

член

Интерфейс

метод, свойство, событие (для C# и Visual Basic)

Абстрактный класс

метод, свойство (для C# и Visual Basic), поле, событие (для C# и Visual Basic), конструктор (метод), деструктор (метод), константа

Структура (структура в коде C#)

метод, свойство (для C# и Visual Basic), поле, событие (для C# и Visual Basic), конструктор (метод), константа

Делегат

Параметр

Модуль (только в Visual Basic)

метод, свойство, поле, событие, конструктор, константа

ПримечаниеПримечание

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

Общие задачи

Задача

Справочные материалы

Get started: Прежде чем создать и настроить члены типа, необходимо открыть окно " сведения о классе ".

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

Создание элементов

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

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

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

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

ПримечаниеПримечание

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

ПримечаниеПримечание

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

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

  1. Щелкните правой кнопкой мыши тип, в который необходимо добавить элемент, выберите команду Добавить и затем Добавить <элемент>.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Изменение элементы типа

Конструктор классов позволяет изменять члены типов, отображаемые на схеме.Можно изменить члены любого типа, которые отображаются на схеме классов и не являются доступными только для чтения.(См. раздел Display of Read-Only Information.) Изменить члены типа можно с помощью редактирования прямо на рабочей области конструирования, а также с помощью окна свойств и окна подробного представления класса.

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

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

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

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

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

  • Имя элемента

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

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

  • Тип члена

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

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

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

  • <добавить член>

    Последняя строка в окне подробного представления класса содержит текст <добавить член> в ячейке Имя.Если выбрана данная ячейка, то можно создать новый член.Дополнительные сведения см. в разделе Creating Members.

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

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

  • Сводка

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

  • Скрыть

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

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

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

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

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

    ПримечаниеПримечание

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

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

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

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

  • Имя

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

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

  • Тип

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

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

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

  • Сводка

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

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

    Последняя строка параметра члена содержит в ячейке Имя текст <добавить параметр>.Щелчок на данной ячейке позволяет создать новый параметр.Дополнительные сведения см. в разделе To add a parameter to a method.

Свойства параметра в окне "Свойства"

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

ПримечаниеПримечание

   Добавление параметра к делегату см. в разделе Creating Members.

ПримечаниеПримечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ПримечаниеПримечание

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

Откройте окно подробного представления класса

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

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

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

  2. В контекстном меню выберите пункт Окно сведений о классе.

— либо —

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

Примечания потребления " сведения о классе "

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

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

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

  • Весь тип доступен только для чтения в случаях, когда, например, тип находится в сборке, на которую существует ссылка (см. раздел Display of Read-Only Information). При выборе фигуры в конструкторе классов окно "Сведения о классе" отображает сведения о типе в состоянии только для чтения.

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

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

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

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

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

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

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

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

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

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

Отображение только для чтения сведения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Связанные разделы

Заголовок

Описание

Просмотр типов и отношений (конструктор классов)

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

Рефакторинг классов и типов (конструктор классов)

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