Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在resharper中关闭“将扩展方法转换为纯静态”自动重构?_C#_.net_Resharper_Extension Methods - Fatal编程技术网

C# 如何在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

当使用Resharper时,出于某种原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的重构

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也有这个问题。