如何在Visual Studio中自动为基类的方法创建空覆盖方法?

时间:2015-12-29 08:15:52

标签: c# visual-studio visual-studio-2008 ide

假设我创建了一个继承自某个基类的类 (例如,假设我正在创建继承class AdvancedProgressBar)的class Control 现在我想继承{strong>一些的Control方法。

如何在基类(Control)中专门选择一个方法,然后告诉Visual Studio为它创建一个空的重写方法?

使用谷歌搜索,我发现了这个提示:

  

在ClassView窗口中,展开派生类下的基类   然后右键单击所需的方法,并选择“添加”。

我进入了“课堂视图”窗口,找到了我的班级(AdvancedProgressBar),展开了“基本类型”子树,点击了Control
然后找到一些方法,例如OnGotFocus
但现在当我点击OnGotFocus时,没有“添加”MenuItem ..

也许它在VS2008中不可用?
(如果确实不是,在Visual Studio 2008中可能还有另一种方法吗?)

2 个答案:

答案 0 :(得分:1)

当您继承一个类时,您将被迫继承所有publicprotected方法和成员。如果您在谈论哪些可以override,那么一旦您键入override,Visual Studio就会告诉您智能感知。它看起来像这样:

protected override void inherited() => base.inherited();

当然,您可以忽略对base.inherited()的调用,使其成为一种空的,压倒一切的方法。

答案 1 :(得分:1)

您无法在VS2008的“类视图”窗口中执行此操作。但是,还有另一种方式。对于虚方法,何时 编写实现子类的代码,只需键入override,然后按空格键。智能感知会 显示可用方法列表。只需选择您想要的那个,就可以生成骨架实现。 在抽象方法的情况下,单击您继承的行上的父类,将出现智能标记。 通过单击或按Ctrl +调用智能标记菜单。并且您将获得生成骨架的选项 抽象方法的实现。

如果您对这些内置生产力助推器不满意,则必须寻找一些VS扩展。一个很棒的 扩展,这将使你更多的是Resharper

https://www.jetbrains.com/resharper/

但它不是免费的,所以你必须决定它是否值得。