此代码生成适用于:
1、C#
2、Visual Basic
功能:快速生成实现接口所需的代码。
时机:想要继承接口时。
原因:可以手动逐一实现各个接口,但此功能可自动生成所有方法签名。
操作说明
1、将光标置于红色波浪线上,该线条表示已引用接口但部分必需成员尚未实现。
C#:
Visual Basic:
2、接下来,执行以下操作之一:
键盘
按 (Ctrl+.) 触发“快速操作和重构”菜单。
鼠标
右键单击并选择“快速操作和重构”菜单。
将鼠标悬停在红色波形曲线上,然后单击出现的 图标。
单击 图标(如果文本光标已在具有红色波形曲线的行上,它会出现在左边缘)。
3、从下拉菜单中选择“实现接口”。
进行选择前,使用预览窗口底部的“预览更改”。
通过预览窗口底部的“文档”、“项目”和“解决方案”链接,跨实现此接口的多个类创建适当的方法签名。
将创建接口的方法签名以供实现。
C#:
interface IMyInterface { void Method1(); int Method2(int value); } class MyClass : MyAbstractClass { public override void Method1() { throw new NotImplementedException(); } public override Int32 Method2(Int32 value) { throw new NotImplementedException(); } }
Visual Basic:
Class MyImplementation Implements IMyInterface Public Sub Method1() Implements IMyInterface.Method1 throw New NotImplementedException() End Sub Public Function Method2(value As Integer) As Integer Implements IMyInterface.Method2 throw New NotImplementedException() End Function End Class
(仅限 C#)使用“显式实现接口”选项,以接口名称作为各个生成方法的开头,避免名称冲突。
interface IMyInterface { void Method1(); int Method2(int value); } class MyClass : IMyInterface { void IMyInterface.Method1() { throw new NotImplementedException(); } Int32 IMyInterface.Method2(Int32 value) { throw new NotImplementedException(); } }