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


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

При оптимизации кода происходит изменение его внутренней структуры и, в особенности, создаваемых объектов. Оптимизация проводится для того, чтобы сделать код более понятным, управляемым и эффективным без видимого изменения поведения программы.При использовании конструктора классов и окно " сведения о классе ", чтобы выполнить рефакторинг кода, можно уменьшить вероятность ввода и трудозатраты, необходимые для дефектов кода во время операции.

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

Файлы проекта могут быть доступны только для чтения, поскольку проект либо находится под системой управления версиями и не извлечен, либо является проектом, на который существует ссылка, либо файлы проекта помечены как доступные только для чтения файловой системой.При работе с проектом, находящимся в одном из вышеуказанных состояний, необходимо ознакомиться с несколькими способами сохранения проекта в зависимости от его состояний.Это условие применяется к рефакторинг кода, а также коду, который изменяется в другом случае в качестве непосредственного редактирования.Дополнительные сведения см. в разделе Display of Read-Only Information.

Общие задачи

Задача

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

Рефакторинг классов:Можно использовать операции рефакторинга для разделения класс в разделяемые классы или реализовать абстрактный базовый класс.

работа с интерфейсами:В конструкторе классов можно реализовать интерфейс на схеме классов путем подключения к классу, который приводится код для методов интерфейса.При использовании Visual C#можно также извлекать одну или несколько открытых членов из типа в новый интерфейс.

Типы рефакторинга, члены типа и параметры.С помощью конструктора классов можно легко вносить изменения, как переименовать тип или члены типа.Можно переопределить элементы типа, либо переместить их из одного типа в другой.Можно создать легко создать тип, допускающий значение null.И при использовании Visual C#можно изменить порядок параметров метода.

w432yf9e.collapse_all(ru-ru,VS.110).gifРеализация абстрактных базовых классов

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

При выполнении данной процедуры предполагается следующее:

  • проект содержит абстрактный класс;

  • абстрактный класс содержит абстрактные члены;

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

Реализация абстрактного класса

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

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

w432yf9e.collapse_all(ru-ru,VS.110).gifИзвлечение членов к интерфейсу

В новый интерфейс можно извлечь из типа один или несколько открытых членов.

Извлечение открытых членов в новый интерфейс

  1. IN Конструктор классовщелкните правой кнопкой мыши тип, содержащий элемент или элементы, которые нужно извлечь, они указывали на Рефакторинг, а затем нажмите кнопку Извлечение интерфейса.

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

  2. в Выбрать открытые методы для создания интерфейса панель, устанавливает или снимает флажок рядом с элементами, которые нужно извлечь в новый интерфейс, а затем щелкните элемент ОК.

    Будет создан новый интерфейс, и файл, содержащий члены, будет добавлен в проект.

w432yf9e.collapse_all(ru-ru,VS.110).gifПереопределение членов типа

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

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

Переопределение члена

  1. На схеме классов щелкните правой кнопкой мыши фигуру класса и нажмите кнопку IntelliSense then переопределенныйЧлены.

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

  2. Из списка укажите элемента.

    Элемент с тем же именем, модификатором доступа и возвращаемым значением, отображается в класс, и его свойство модификатор наследования набор переопределяет в Visual Basic или переопределенном методе в c#.

w432yf9e.collapse_all(ru-ru,VS.110).gifПереименование типов и членов типов

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

Изменение имени в конструкторе классов

  1. На схеме классов выберите тип или член.

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

  2. Введите новое имя для типа или члена типа.

Изменение имени в окне "Сведения о классе"

  1. Отображение окна " сведения о классе " щелкните правой кнопкой мыши тип или член типа и затем щелкнуть Сведения о классах.

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

  2. В столбце Имя измените имя члена типа.

  3. Для перемещения фокуса от ячейки нажмите клавишу ВВОД или щелкните вне области ячейки.

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

    В окне "Сведения о классе" можно изменить имя члена, но нельзя изменить его тип.

Изменение имени в окне "Свойства"

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

    Откроется окно "Свойства" со свойствами типа или члена типа.

  2. В поле Имя введите новое имя типа или члена типа.

    Изменение имени распространится на все окна и места кода в текущем проекте, в которых содержится старое имя.

w432yf9e.collapse_all(ru-ru,VS.110).gifИзменение порядка параметров

Конструктор классов позволяет изменить порядок параметров метода в типе.

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

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

Изменение порядка параметров

  1. На схеме классов разверните фигуру типа и затем секцию Методы.

  2. в Методы секция щелкните правой кнопкой мыши метод с параметрами нужно переупорядочить, указывать на Рефакторинги выберите команду Упорядочить параметры.

    Откроется диалоговое окно Упорядочение параметров.

  3. в Упорядочить параметры диалоговое окно перемещение параметры в порядке, а затем нажмите кнопку ОК.

    Порядок параметров изменится в коде и в фигуре на схеме классов.

w432yf9e.collapse_all(ru-ru,VS.110).gifПеремещение элементов типа из одного типа в другой

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

Перемещение члена типа из одного типа в другой

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

  2. Щелкните правой кнопкой мыши, а затем выберите тип назначения Вставить.

    Свойство будет удалено из исходного типа и отобразится в конечном типе.

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

Заголовок

Описание

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

Конструирование классов и типов (конструктор классов)