如何让IDE自动填充Shim方法的参数(含原函数参数名)?
如何让IDE自动补全Shim方法的参数列表(含原函数参数名)
针对你遇到的手动统计Shim方法参数的问题,完全可以通过IDE的智能感知功能实现自动补全,甚至直接填充原函数的参数名称,具体操作如下(以Visual Studio为例,Shim是Microsoft Fakes的核心功能,该IDE原生支持):
智能感知一键生成委托
当你输入到BogusClass.GetMyFakeIdStringStringStringStringStringString =后,按下Tab键,IDE会自动匹配原方法的签名,生成包含正确参数个数和原函数参数名称的lambda表达式。
比如原方法声明为:public static int GetMyFakeId(string userId, string orderId, string productId, string storeId, string regionId, string channelId) { // 原业务逻辑 }按下Tab后会直接生成:
BogusClass.GetMyFakeIdStringStringStringStringStringString = (userId, orderId, productId, storeId, regionId, channelId) => { return 1; };检查智能感知设置确保生效
如果上述操作无响应,可验证VS的设置:- 打开
工具>选项>文本编辑器>C#>智能感知 - 确保
自动列出成员、参数信息、显示完成列表的参数信息三个选项已勾选
- 打开
快捷键补全参数
若已输入=>但未补全参数,将光标置于lambda的括号内,按下Ctrl+Shift+Space,IDE会自动填充所有参数的名称与对应类型。
Microsoft Fakes生成的Shim属性与原方法的委托类型完全绑定,IDE可直接识别其签名规则,无需手动统计参数数量。
内容的提问来源于stack exchange,提问作者Héctor Álvarez
相关产品推荐
相关产品推荐

