C# 如何在resharper中关闭“将扩展方法转换为纯静态”自动重构?
当使用Resharper时,出于某种原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的重构C# 如何在resharper中关闭“将扩展方法转换为纯静态”自动重构?,c#,.net,resharper,extension-methods,C#,.net,Resharper,Extension Methods,当使用Resharper时,出于某种原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的重构 foo.Bar() 变成 MyStaticExtensions.Bar(foo); 讽刺的是,它随后将其标记为代码气味。如何关闭此功能?这不会发生在我的Resharper 4.5上。您是否启用了静默清理?Resharper-选项-代码清理。此功能嵌入在Resharper的IntelliSense中。我经常使用Linq到sql扩展,所以我禁用了此功能:Resharper-Option
foo.Bar()
变成
MyStaticExtensions.Bar(foo);
讽刺的是,它随后将其标记为代码气味。如何关闭此功能?这不会发生在我的Resharper 4.5上。您是否启用了静默清理?Resharper-选项-代码清理。此功能嵌入在Resharper的IntelliSense中。我经常使用Linq到sql扩展,所以我禁用了此功能:Resharper-Options-IntelliSense-Enable Radiobutton Visual Studio您可以通过取消选中Optimize“using”指令来禁用此行为。遗憾的是R有如此疯狂的行为;更奇怪的是,只有少数几个文件。我猜只有在当前文件中调用了Enumerable的静态方法时才会发生这种情况
为了获得使用排序和清理行为,我建议在对使用进行排序时,首先安装生产力增强工具并选中选项->文本编辑器->C->高级->组织使用->放置“系统”指令。不,看起来我没有设置任何清理配置文件。这实际上只发生在特定情况下。也就是一个在分部类中定义的Linq到SQL扩展方法。@Charles:好的,这更合理,因为它是一种特殊情况。我会试着重新编程…有人能解决这个问题吗?这真的很烦人,因为当使用自动清理时,它将它从扩展方法转换为静态方法调用,然后建议我再次将其转换回来!:Lol已经有修复程序了吗?Resharper最糟糕的功能是今天在R9.1中看到的,它将myvar.SelectMapper.Map.ToList更改为Enumerable.ToListmyvar.SelectMapper.Map一个6岁的bug回来了!我在R9也有这个问题。