jjzjj

resharper

全部标签

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# - PropertyInfo.DeclaringType 真的可以为空吗?

我正在使用ReSharper(旧版本),它曾经在我使用PropertyInfo.DeclaringType时警告我它可以是null。第一眼和第二眼对我来说没有意义。这是真的,还是ReSharper有点笨,没有注意到它是PropertyInfo,而不是一般的MemberInfo? 最佳答案 PropertyInfo.DeclaringType属性继承自MemberInfo.DeclaringType和documentation:IftheMemberInfoobjectisaglobalmember(thatis,ifitwasobt

c# - 为什么不允许为方法声明空表达式体?

我有一个像这样有一个空主体的方法:publicvoidFoo(){}根据ReSharper的建议,我想将它转换为表达式主体以节省一些空间,它变成了:publicvoidFoo()=>;无法编译。是否有不支持的具体原因?而且我认为我应该为ReSharper打开一个错误票,因为它会将代码重构为不可编译的版本。 最佳答案 [编辑:此答案不正确,请勿使用-请参阅评论。]如您所见,表达式主体使用了lambda运算符(“=>”)。如果您仍想将空的void方法编写为表达式主体,则可以使用Expression.Empty()来表明Foo()是空(v

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# - Enum.ToString() 已弃用?

当我在VisualStudio中的Enum类型上键入.ToString()时,Intellisense显示通过ToString()(虽然它构建并工作正常)。这似乎表明Enum.ToString()在某种程度上已被弃用。这是真的?如果是,为什么? 最佳答案 采用IFormatProvider的Enum.ToString重载,ToString(IFormatProvider)和ToString(String,IFormatProvider),都已过时,因为无论如何都没有使用IFormatProvider。其他重载,ToString()和

c# - 这是在 C# 中无需空检查的情况下触发/调用事件的更好方法吗?

我见过的大多数代码都使用以下方式来声明和调用事件触发:publicclassMyExample{publiceventActionMyEvent;//couldbeaneventEventHandler,tooprivatevoidOnMyEvent(){varhandler=this.MyEvent;//copybeforeaccess(toaviodracecond.)if(handler!=null){handler();}}publicvoidDoSomeThingsAndFireEvent(){//...doingsomethingshereOnMyEvent();}}甚至R

c# - 无法解析符号 ObjectStateManager

当我尝试从EntityFramework4在我的数据库上下文中调用它时,出现“无法解析符号ObjectStateManager”错误。我找不到其他人有此问题。我试过使用System.Data和System.Data.Objects。是否需要创建特定的EntityFramework才能使用ObjectStateManager?或者我是否缺少某种安装包?我正在使用数据库优先EntityFramework。这是给我错误的代码:(第7行)[HttpPost]publicActionResultEditProfile(Useruser){if(ModelState.IsValid){db.Use

c# - Resharper陷阱

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