Рефакторинг для извлечения интерфейса
Область применения этого рефакторинга:
C#
Visual Basic
Что: позволяет создать интерфейс с помощью существующих элементов из класса, структуры или интерфейса.
Когда: члены класса, структуры или интерфейса, которые могут наследоваться другими классами, структурами или интерфейсами.
Зачем? Интерфейсы — это отличные конструкции для объектно-ориентированных схем. Представьте классы различных животных (собака, кот, птица), которые могут иметь общие методы, такие как, еда, питье, сон. Благодаря интерфейсу IAnimal классы "собака", "кот" и "птица" смогут иметь общую "сигнатуру" для этих методов.
Рефакторинг для извлечения интерфейса
Поместите курсор в имени класса.
C#.
Visual Basic:
Затем выполните одно из следующих действий:
- Клавиатура
- Нажмите клавиши CTRL + R, а затем — CTRL + I. (Сочетание клавиш может отличаться в зависимости от выбранного профиля.)
- Нажмите клавиши CTRL+. Чтобы активировать меню "Быстрые действия" и "Рефакторинг" и выберите пункт "Извлечь интерфейс" во всплывающем окне предварительного просмотра.
- Мышь
- Выберите "Изменить > интерфейс извлечения рефакторинга>".
- Щелкните правой кнопкой мыши и выберите меню Быстрые действия и рефакторинг. Затем выберите во всплывающем окне предварительного просмотра пункт Извлечь интерфейс.
- Клавиатура
В открывшемся диалоговом окне Извлечение интерфейса введите запрашиваемые сведения:
Поле Description Имя нового интерфейса Имя создаваемого интерфейса. Имя по умолчанию — Iимя_класса, где имя_класса — имя класса, выбранного выше. Имя нового файла Имя созданного файла, который будет содержать интерфейс. Как и в случае с именем интерфейса, по умолчанию это будет Iимя_класса, где имя_класса — имя класса, выбранного выше. Можно также выбрать возможность Добавить в текущий файл. Выбрать открытые элементы для создания интерфейса Элемент, который нужно извлечь в интерфейс. Можно выбрать столько элементов, сколько требуется. Выберите OK.
Интерфейс создается в файле с указанным именем. Кроме того, выбранный класс реализует этот интерфейс.
C#.
Visual Basic: