Automatically generate implementations of base class methods
在C(vs 2008)中,是否有某种快捷方式可以自动在派生类中实现虚拟和抽象基类方法?
虚拟方法,你可以override然后A型空间。我应该给你一个IntelliSense列表选项。
对抽象的方法和属性,你可以使用"智能标签在碱类或接口(也.,ctrl + + +或shift alt f10将演出《智能标签菜单Generate)两个项目的混凝土。
例如,在下面的代码片段,你可以在caret广场尽头的INotifyPropertyChanged和出版社ctrl + .然后选择实施的两个接口,和PropertyChanged事件会增加两MyClass:
1 2 3
| class MyClass : INotifyPropertyChanged
{
} |
- 这对于接口实现很好。我想从另一个类派生一个类,但没有简单的方法可以做到。
- @康坎:如果另一个类有抽象方法,它的工作方式与接口相同。但是,如果它有带实现的虚拟方法,那么您应该只覆盖需要覆盖的方法。我不确定您缺少了什么"简单方法",但只需键入override和一个空格(如上所述),它将为您提供可用方法的LSIT。你不应该把它们都推翻。
- 我希望在维护基类中的所有方法和属性的同时,向类中添加其他属性和方法。因此,我希望以base.method()的方式实现方法和属性。
- @康坎:当你从一个类派生时,你继承了它的所有方法和属性。你只需要覆盖那些你想修改他们行为的地方。你到底有什么困难?
- 所以。很多。时间。保存的。-D
- "ctrl+"选项对我有效。谢谢你节省了很多时间。
完全型的接口,你想实施,然后单击以在智能,上下文菜单将popup A,然后你可以选择要么贯彻实施没有接口或接口。
所有的成员是overridden将包含在代码区(这是两个"反思其用途。
所有的成员将有一行,throws NotImplementedExceptionA。
虚拟式的替代方法,提供的空间和IntelliSense会告诉你的一切,可以继承的方法。
我认为这个问题的存在,当我被要求原创,但至少在2013年与你可以自动创建为抽象方法stubs &;置业。右击我的抽象类的名字(在你的类的定义和提取)"实施的抽象类。是的,就像为CMS和自动实现接口。
- CMS点击了"智能标签",即出现在他照片中MyInterface中M下方的小盒子。
AA的人有上述的智能标签(通过Ctrl+.和练习,你会Alt+Shft+F10)的问题,但是有个annoying Visual Studio选项,将自动生置业/包的方法和一个这样的区域。
1 2 3
| #region INotifyPropertyChanged members
...
#endregion |
你可以把这两个城市Tools > Options > Text Editor > C# > Advanced持续的功能性。有一个叫checkbox Implement Interface > Surround generated code with #region。只是确保它是unchecked。
- 我认为该区域有点不错,因为它将方法标记为与接口相关,并且使整个组可折叠。
也许你想让全inheriting贯标/实施两类的一个新定义的抽象方法。
一个好的inheriting /类的实现
使用智能标签菜单ctrl + .
用于实现抽象类/接口
观察以期权的popup"窗口的"项目"或"解决方案"
微软的官方文件流自动实现一个抽象类是这里的基础:
docs.microsoft.com http:/ / /我们/ VisualStudio /想法/参考/实施的抽象类