这是一段代码:IUseruser=managerUser.GetUserById(UserId);if(user==null)thrownewException(...);Quotequote=newQuote(user.FullName,user.Email);这里一切都很好。但是,如果我将“if”行替换为以下行:ComponentException.FailIfTrue(user==null,"Can'tfinduserwithId="+UserId);函数实现如下:publicabstractclassComponentException:ComponentExceptionwh
为什么ReSharper在下面的示例中为“设置”建议只读字段?如果我理解正确的话,如果你只在构造函数中更改这个字段,你应该使用readonly修饰符,但在我的示例中,我也在同一个类的另一个方法中更改它。我错过了什么?publicpartialclassOptionsForm:Form{privateSettingssettings;publicOptionsForm(Settingss){settings=s;}privatevoidSaveData(){settings.ProjectName=TextBoxProject.Text;}} 最佳答案
ReSharper具有在使用关键字别名类型名称时查找不一致的功能。例如,它会看到这两个声明并敦促您将一个更改为与另一个相同(取决于您的偏好设置):stringmyString1="String1";StringmyString2="String2";这很方便,因为在声明变量时我总是喜欢使用CLR类型的关键字别名,因此在上面的示例中,我想更正第二行。但是,这也有问题,因为在使用CLR类型的静态成员时,我总是更喜欢使用类型名称而不是关键字。考虑以下示例:stringmyString1="String1";stringmyString2=String.Format("{0}isString1
如果我使用Resharper代码清理功能,我会找到我的代码......varpersonInfos=persons.Select(Mapper.Map).ToList();改为...varpersonInfos=Enumerable.ToList(persons.Select(Mapper.Map));但随后Resharper为Enumerable.ToList提出了“Toextensionmethodinvocation”的建议,因此代码返回到...varpersonInfos=persons.Select(Mapper.Map).ToList();我已经检查了Resharper代码
有没有办法更改由Resharper中的快速修复生成的代码?它似乎不在实时模板中。我想要生成无法识别的符号的“创建属性”快速修复publicintMyProperty{get;set;}代替:protectedintMyProperty{get{thrownewNotImplementedException();}set{thrownewNotImplementedException();}} 最佳答案 不幸的是,您无法在Resharper中定义快速修复行为。但是,对于放入属性主体的内容有多种选择。转到Resharper->Optio
在使用Resharper时,由于某些原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的ConvertExtensionMethodtoPlainStatic重构。foo.Bar()成为MyStaticExtensions.Bar(foo);具有讽刺意味的是,它随后将此标记为代码异味。我该如何关闭它? 最佳答案 Resharper的IntelliSense中嵌入了此功能。我经常使用Linq-to-sql扩展,所以我禁用了这个功能:Resharper-选项-IntelliSense-启用RadiobuttonVisu
我注意到“常见做法和代码改进”下的ReSharper建议:将局部变量或字段转换为常量。我还注意到,在BillWagner的《EffectiveC#:50SpecificWaystoImproveYourC#》一书中,有一个语言成语“Preferreadonlytoconst”,作者在其中解释了使用const的风险。我的问题不是关于readonly和const之间的区别以及何时使用它们,而是为什么一个来源将const视为一种常见的做法/代码改进,而另一方面,第二个来源将readonly视为一个习语? 最佳答案 私有(private)常
我的自定义MembershipProvider中有此代码:publicoverridevoidInitialize(stringname,System.Collections.Specialized.NameValueCollectionconfig){if(config==null)thrownewArgumentNullException("config");if(name==null)name="MyCustomMembershipProvider";...}Resharper标记了第二个if语句并告诉我,它的计算结果总是false。但是为什么这总是评估为false?我可以轻松地
我在visualstudio中有一个大型网站解决方案,由一个ASP.NET网站项目和许多类库项目组成。我正在寻找一种方法:完全禁用ReSharper本地化,或者;强制“英语”作为默认语言,并且是唯一的语言该解决方案是我们组织的内部应用程序,本地化的可能性为零。同时,我使用StyleCop和ReSharper进行代码风格管理,并且厌倦了到处都是“Stringcan/shouldbelocalized”警告等。我可以转StyleCop和Resharper设置中的一些警告已关闭,但是我宁愿将英语指定为唯一的语言等。我认为在每个类库项目的AssemblyInfo.cs文件中有一种方法可以指定仅
我不知道我是不是太傻了,但我找不到一种方法来使用VS和Resharper查找View(cshtml文件)的所有用法。View可以是完整的或部分的。如果有人可以帮助我,这对我正在从事的新项目很有用! 最佳答案 如果您安装了ReSharper:从解决方案资源管理器中选择查看文件使用键盘,Ctrl+Shift+Alt+F12。或者,右键单击View并选择FindUsagesAdvanced...>这给你带来了一个窗口。选中Find列中的所有复选框,并从Scope列中选择解决方案,单击Find>这将在查找结果窗口中为您带来一个用法列表。>