【发布时间】:2009-04-02 05:15:27
【问题描述】:
在 C# (VS 2008) 中是否有某种捷径可以在派生类中自动实现虚拟和抽象基类方法?
【问题讨论】:
标签: c# visual-studio
在 C# (VS 2008) 中是否有某种捷径可以在派生类中自动实现虚拟和抽象基类方法?
【问题讨论】:
标签: c# visual-studio
对于虚拟方法,您可以输入override,然后输入一个空格。 Intellisense 应该为您提供一个选项列表。
对于抽象方法和属性,您可以在基类或接口上使用智能标记(也可以是 Ctrl+. 或 Shift +Alt+F10 将显示智能标签菜单)以生成具体项目。
例如,在下面的代码 sn-p 中,您可以将插入符号放在 INotifyPropertyChanged 的末尾,然后按 Ctrl+。 然后选择实现接口,并且PropertyChanged 事件将被添加到MyClass:
class MyClass : INotifyPropertyChanged
{
}
【讨论】:
对于虚拟方法类型override,给一个空格,intellisense 会显示所有可以被继承的方法。
【讨论】:
当最初的问题被问到时,不要认为这存在,但至少从 VS 2013 开始,您可以自动为抽象方法和属性创建存根。只需右键单击抽象类名称(在您的类定义中)并选择“实现抽象类”。就像 CMS 展示的自动实现接口一样。
【讨论】:
MyInterface 中 M 下方出现的小框。
正如其他人所提到的,智能标记(通过Ctrl+. 和Alt+Shft+F10)将解决您的问题,但是Visual Studio 有一个烦人的选项,它会自动将生成的属性/方法包装成这样的区域:
#region INotifyPropertyChanged members
...
#endregion
您可以转到Tools > Options > Text Editor > C# > Advanced 来启用此功能。有一个名为Implement Interface > Surround generated code with #region 的复选框。只需确保它未选中即可。
【讨论】:
目前自动实现抽象基类的微软官方文档在这里:
https://docs.microsoft.com/en-us/visualstudio/ide/reference/implement-abstract-class
【讨论】: