Ответ 1
Да, вы можете извлечь интерфейс из класса с помощью Visual Studio:
Внутри файла целевого класса: Щелкните правой кнопкой мыши > Рефакторинг > Извлечь интерфейс...
Пример
затем
У меня есть класс как:
Class MyClass
{
public MyClass { ... }
public string Name { get { ... } }
public int IdNumber { get { ... } set { ... } }
public void GenerateNme {...}
}
Это всего лишь образец класса. Я хочу создать интерфейс из него. Например, MyClass реализует интерфейс IMyClass. Я хочу, чтобы результат был
public Interface IMyClass
{
string Name { get; }
int IdNumber { get; set; }
void GenerateNumber();
}
и
MyClass : IMyClass
{
}
Это можно сделать вручную, но мне было просто интересно узнать, есть ли какой-нибудь другой простой метод для выполнения этого? Если не ясно, оставьте комментарий.
Спасибо.
Да, вы можете извлечь интерфейс из класса с помощью Visual Studio:
Внутри файла целевого класса: Щелкните правой кнопкой мыши > Рефакторинг > Извлечь интерфейс...
Пример
затем
В Visual Studio 2015/2017/2019 это находится в меню быстрых действий (Ctrl + период .)
Обязательно поместите курсор где-нибудь в имя класса, из которого вы хотите извлечь интерфейс. В противном случае он показывает "никаких быстрых действий, доступных здесь".
Примечание: это возможно только в том случае, если вы действительно можете извлечь интерфейс. Например, если ваш класс имеет только статические методы, это не сработает.
В Visual Studio 2010 вы можете щелкнуть правой кнопкой мыши MyClass
и выбрать Refactor
, `Извлечь интерфейс..." (Ctrl + R, I). Это дает вам окно для проверки члены, которые нужно извлечь.
В Visual Studio 2015 щелкните курсор или щелкните правой кнопкой мыши имя класса, затем выберите "Быстрые действия" (или нажмите Ctrl - .), и появится опция "Извлечь интерфейс".
В меню рефакторинга визуальной студии есть опция "интерфейс экстракта", которая делает именно то, что вы описываете.
Ctrl + . выскакивает "генерирование переопределений...", и ничего не происходит за пределами этого, поэтому я искал "рефакторинг" в окне поиска быстрого запуска. Результаты были изменены с помощью Edit → Refactor → Extract Interface
(Ctrl + R, Ctrl + I).
Надеясь, этот совет поможет и кому-то другому. Я использую VS 2017 EE.