草庐IT

resharper-6.0

全部标签

c# - 为什么 ReSharper 更喜欢 const 而不是 readonly?

我注意到“常见做法和代码改进”下的ReSharper建议:将局部变量或字段转换为常量。我还注意到,在BillWagner的《EffectiveC#:50SpecificWaystoImproveYourC#》一书中,有一个语言成语“Preferreadonlytoconst”,作者在其中解释了使用const的风险。我的问题不是关于readonly和const之间的区别以及何时使用它们,而是为什么一个来源将const视为一种常见的做法/代码改进,而另一方面,第二个来源将readonly视为一个习语? 最佳答案 私有(private)常

c# - 如何将 C# 6.0 添加到 Visual Studio 2013?

这个问题在这里已经有了答案:HowtoenableC#6.0featureinVisualStudio2013?(6个答案)关闭8年前。有没有办法将C#6.0添加到VisualStudio2013?如果我不能,那是为什么?

c# - 将字符串与 null 进行比较 - 为什么 Resharper 认为这总是错误的?

我的自定义MembershipProvider中有此代码:publicoverridevoidInitialize(stringname,System.Collections.Specialized.NameValueCollectionconfig){if(config==null)thrownewArgumentNullException("config");if(name==null)name="MyCustomMembershipProvider";...}Resharper标记了第二个if语句并告诉我,它的计算结果总是false。但是为什么这总是评估为false?我可以轻松地

c# - 在 Visual Studio ASP.NET 解决方案中禁用 Resharper 本地化检查

我在visualstudio中有一个大型网站解决方案,由一个ASP.NET网站项目和许多类库项目组成。我正在寻找一种方法:完全禁用ReSharper本地化,或者;强制“英语”作为默认语言,并且是唯一的语言该解决方案是我们组织的内部应用程序,本地化的可能性为零。同时,我使用StyleCop和ReSharper进行代码风格管理,并且厌倦了到处都是“Stringcan/shouldbelocalized”警告等。我可以转StyleCop和Resharper设置中的一些警告已关闭,但是我宁愿将英语指定为唯一的语言等。我认为在每个类库项目的AssemblyInfo.cs文件中有一种方法可以指定仅

c# - 使用 Resharper 查找 ASP.NET MVC View 的所有用法

我不知道我是不是太傻了,但我找不到一种方法来使用VS和Resharper查找View(cshtml文件)的所有用法。View可以是完整的或部分的。如果有人可以帮助我,这对我正在从事的新项目很有用! 最佳答案 如果您安装了ReSharper:从解决方案资源管理器中选择查看文件使用键盘,Ctrl+Shift+Alt+F12。或者,右键单击View并选择FindUsagesAdvanced...>这给你带来了一个窗口。选中Find列中的所有复选框,并从Scope列中选择解决方案,单击Find>这将在查找结果窗口中为您带来一个用法列表。>

c# - ReSharper 如何知道 "Expression is always true"?

检查以下代码:privatevoidFoo(objectbar){Typetype=bar.GetType();if(type!=null)//Expressionisalwaystrue{}}ReSharper声称type永远不会是null。这对我来说很明显,因为bar总是有一个类型,但ReSharper是如何知道的?它怎么知道方法的结果永远不会是null?Type不是结构,所以不可能是这样。而如果这个方法是我写的,那么返回值肯定可以是null(不一定是GetType,而是别的什么)。ReSharper是否足够聪明,知道只有那个特定方法的结果永远不会是null?(就像有一个永远不会返

c# - Resharper陷阱

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我非常喜欢ReSharper,没有它就无法工作,但是我遇到了一些问题并学会了避免:允许ReSharper自动重命名字符串文字,在您的对象变量与DALSQL或其他字符串常量中的列名称匹配的情况下,确实会让您感到厌烦。我了解到,与其在出现第二个重命名对话框时不耐烦地按下回车键,不如真正需要查看ReSharper的建议,并经常跳过字符串文字重命名步骤。这个有点隐蔽:当您打开解决方案范围的分析时,ReSharpe

c# - 为什么 ReSharper 提供带有字符串插值的奇怪格式?

ReSharper的格式不断将字符串插值放在不同的行上,例如:$"whatever={somethingelse}"变成:$"whatever={somethingelse}"知道这是哪个选项吗? 最佳答案 “包装对象和集合初始值设定项”是您所追求的设置。将它设置为在长时切碎,然后如果它仍然不正确地换行,您可以将“右边距(列)”数字修改为更大的值,它会停止该行为。虽然通过扩展列,resharper将停止换行中字符数少于您设置的值的任何内容,因此它可能会使其他重新格式化以不希望的方式执行。

c# - 我如何告诉 Resharper 我的 IEnumerable 方法删除了空值?

给定以下代码,Resharper将正确地警告我foo.Bar上可能存在的NullReferenceException,因为可枚举中可能有空元素:IEnumerablefoos=GetFoos();varbars=foos.Select(foo=>foo.Bar);满足静态分析器的一种方法是显式排除空值:IEnumerablefoos=GetFoos().Where(foo=>foo!=null);我发现自己经常输入.Where(x=>x!=null),所以我将其包装在扩展方法中,现在我可以执行以下操作:IEnumerablefoos=GetFoos().NotNull();问题是Res

c# - Resharper - Go To Implementation list 引用两次

在我的一个解决方案中,当我右键单击一个符号并为其他解决方案项目之一中定义的对象选择“转到实现”时,它会列出两次引用并强制我选择一个。根据图标,似乎列表中的一项代表项目,另一项代表dll。我点击哪个并不重要-它会转到同一个源文件。我在这个特定项目中只有一次库引用-它正在引用该项目。什么会导致这种情况发生?也许是某种循环引用问题? 最佳答案 据我所知,如果您有一个包含多个项目的解决方案,也可能会发生这种情况,其中某个项目被引用为项目,也被解决方案中的其他两个项目引用为纯文件。如果ReSharper出现问题,我可以提供的另一个建议是cle