能否在Visual Studio或ReSharper中生成转发参数至私有字段方法的方法?
当然可以!不管用Visual Studio原生功能还是ReSharper,都能轻松生成这种转发私有字段方法的包装方法,我给你详细说说两种方式:
Visual Studio 原生实现方式
- 先确保你的
_inner字段已经完成初始化(比如像示例里那样通过构造函数注入) - 把光标定位到
Outer类的内部空白处,右键选择「快速操作和重构」(或者直接按快捷键Ctrl+.) - 在弹出的菜单里找到「生成包装类型」选项
- 在弹出的配置窗口中,选择要包装的目标字段
_inner,然后勾选你需要转发的方法(比如这里的Test) - 点击确定,VS就会自动帮你生成对应的包装方法了
生成后的代码示例:
class Inner { public void Test(String a, String b){} } class Outer { private Inner _inner; public Outer(Inner inner) {_inner = inner;} // 自动生成的转发包装方法 public void Test(string a, string b) { _inner.Test(a, b); } }
ReSharper 实现方式
ReSharper的功能会更灵活一些,步骤也很简单:
- 确保
_inner字段存在且已初始化 - 把光标放在
_inner字段上,按快捷键Alt+Insert(或者右键选择「Generate」) - 在弹出的Generate菜单里选择「Delegating Members」(委托成员)
- 在配置窗口中,你可以批量选择需要生成转发的方法,还能调整包装方法的访问修饰符、是否生成XML注释等细节
- 确认配置后,ReSharper会一键生成所有选中方法的转发代码
如果需要给多个方法生成包装,两种工具都支持批量选择,不用一个个手动编写,效率拉满~
内容的提问来源于stack exchange,提问作者David S.
相关产品推荐
相关产品推荐

