Подтвердить что ты не робот

Автоматическое создание реализаций методов базового класса

Есть ли какой-либо ярлык в С# (VS 2008) для автоматического внедрения виртуальных и абстрактных методов базового класса в производном классе?

4b9b3361

Ответ 1

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

Для абстрактных методов и свойств вы можете использовать смарт-тег в базовом классе или интерфейсе (также, Ctrl + . или Shift + Alt + F10 покажет меню смарт-тегов) для создания конкретных элементов.

Например, в следующем фрагменте кода вы можете поместить каретку в конце INotifyPropertyChanged и нажать Ctrl + ., чтобы выбрать "Использовать интерфейс", а событие PropertyChanged будет добавлено в MyClass:

class MyClass : INotifyPropertyChanged
{
}

Ответ 2

Просто введите интерфейс, который вы хотите реализовать, а затем нажмите "Смарт-тег", появится контекстное меню, а затем вы можете явно выбрать интерфейс реализации или реализовать интерфейс:

введите описание изображения здесь

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

Все члены будут иметь строку, которая выбрасывает NotImplementedException.

Ответ 3

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

Ответ 4

Не думайте, что это существовало, когда задавался исходный вопрос, но, по крайней мере, с VS 2013, вы можете автоматически создавать заглушки для абстрактных методов и свойств. Просто щелкните правой кнопкой мыши на имени абстрактного класса (в определении вашего класса) и выберите "Реализовать абстрактный класс". Так же, как и CMS, с автоматическим интерфейсом.

Ответ 5

Как уже упоминалось выше, смарт-тег (через Ctrl+. и Alt+Shft+F10) решит вашу проблему, однако Visual Studio имеет раздражающую опцию, которая автоматически обертывает сгенерированные свойства/методы в таком регионе:/p >

#region INotifyPropertyChanged members
...
#endregion

Вы можете включить эту функцию, перейдя в Tools > Options > Text Editor > C# > Advanced. Существует флажок Implement Interface > Surround generated code with #region. Просто убедитесь, что он не установлен.