自动生成基类方法的实现

时间:2009-04-02 05:15:28

标签: c# visual-studio

在C#(VS 2008)中是否有某种快捷方式可以在派生类中自动实现虚拟和抽象基类方法?

7 个答案:

答案 0 :(得分:51)

对于虚拟方法,您可以键入override,然后键入空格。 Intellisense应该为您提供一系列选项。

对于抽象方法和属性,您可以在基类或接口上使用智能标记(另外, Ctrl + Shift + Alt + F10 将显示智能标签菜单)以生成具体项目。

例如,在以下代码段中,您可以将插入符号放在INotifyPropertyChanged的末尾,然后按 Ctrl + 然后选择实现接口,PropertyChanged事件将添加到MyClass

class MyClass : INotifyPropertyChanged
{
}

答案 1 :(得分:22)

只需键入要实现的接口,然后单击智能标记,将弹出一个上下文菜单,然后您可以选择实现接口或实现接口:

  

enter image description here

要覆盖的所有成员都将包含在一个代码区域中,该代码区域的名称是为了反映其目的。

所有成员都会有一行抛出NotImplementedException

答案 2 :(得分:4)

对于虚拟方法,输入覆盖,给出一个空格,智能感知将显示所有可以继承的方法。

答案 3 :(得分:3)

当问到原始问题时,不要认为这存在,但至少从VS 2013开始,你可以自动创建抽象方法的存根。属性。只需右键单击抽象类名(在类定义中)并选择"实现抽象类"。就像CMS显示自动实现接口一样。

答案 4 :(得分:1)

正如其他人所提到的,智能标记(通过Ctrl+.Alt+Shft+F10)将解决您的问题,但Visual Studio有一个烦人的选项,它会自动用一个区域包装生成的属性/方法像这样:

#region INotifyPropertyChanged members
...
#endregion

您可以转到Tools > Options > Text Editor > C# > Advanced来启用此功能。有一个名为Implement Interface > Surround generated code with #region的复选框。只需确保它未经检查。

答案 5 :(得分:0)

用于自动实现抽象基类的当前官方Microsoft文档位于:

https://docs.microsoft.com/en-us/visualstudio/ide/reference/implement-abstract-class

答案 6 :(得分:0)

也许您希望所有继承/实现类都实现一个新定义的抽象方法。

  1. 转到继承/实现类之一
  2. 使用智能标记菜单 ctrl +
  3. 实现抽象类/接口
  4. 在弹出窗口底部的“项目”或“解决方案”中查看选项 Smart tag Menu Pop Up