jjzjj

resharper

全部标签

c# - 在 C# 中使用或不使用 'this' 限定符

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whendoyouusethe“this”keyword?我刚刚开始使用Resharper来分析我的代码,它建议我做很多事情,我对它的输出非常满意,因为它还教会了我一些更好的做事方法。显然可以忽略它的建议,其中之一我只想从社区获得一些反馈!我一直倾向于对属于当前类的属性(即this.Name)使用“this”限定符。没有真正的原因-我似乎只是在很久以前就采用了这种方式。Resharper建议这是多余的,也许我应该删除它。你怎么看?

c# - 为什么 Resharper 认为 IPrincipal.Identity 永远不会为空?

在VS2010中运行的Resharper8告诉我可以删除对principal.Identity!=null的检查:我假设这是因为IPrincipal的代码中有一个NotNull属性或潜伏的东西,但是编写您自己的返回空身份的IPrincipal实现非常容易:voidMain(){varfoo=newFooPrincipal();Console.WriteLine(foo.Identity==null?"Yep!":"NotNull");}classFooPrincipal:IPrincipal{publicIIdentityIdentity{get;set;}publicboolIsIn

c# - Resharper 模式以检测具有可空类型的算术

谁能想出好的Resharper模式来检测以下错误:decimal?x=null;decimal?y=6M;vartotal=x+y;Console.WriteLine(total);//Resultisnull我已经尝试创建一个模式,但我不知道如何快速处理所有类型的算术(例如+、-、*等)和任何可为null的类型(e.g.Nullable,Nullable,Nullableetc)。我也无法处理交换性(例如,它应该检测x+y以及y+x)。请注意,我不一定需要检测x是否实际上为null:只是它是否为可空类型。我想强制开发人员编写:x.Value+y.Value。

c# - 不必要地转换为用于在 mscorlib 中调用 ToString() 的对象

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。在StringWriter(mscorlib.dll)中我找到了一段代码:privateStringBuilder_sb;//(...)publicoverridestringToString(){return((object)this._sb).ToString();}我看不出原因(我的R#也是,但有时是错误的)。ToString()是virtual因此

c# - resharper 如何识别要为其智能感知包含哪些文件?

Resharper的一个众所周知的问题是它无法识别使用自定义任务生成的C#文件(使智能感知失败)。有谁知道如何在不将文件添加到项目的情况下解决这个问题?(顺便说一句,在项目中包含生成的文件或创建单独的程序集以及其他此类有缺陷的建议完全是不可能的)。我们可以为此编写一个Resharper插件吗?我们有相当多的开发人员无法使用Resharper,因此这很值得付出努力。我们能否以某种方式将obj/*.g.cs文件添加到Resharpers非基于msbuild的csproj解析器(潜伏在Resharper中的某个地方)?Resharper使用的关于如何解析要包含的.cs文件列表的方法是否记录在

c# - 有没有办法在 visual studio 中设置命名参数的样式?

我认为命名参数很好,但我认为缺点是它们会给函数调用增加一些视觉噪音。我希望VisualStudio将它们着色为浅灰色(ReSharper将死代码变灰的方式),以便强调实际参数值。现在看起来有点像这样(一切都是黑色的):LaunchThings(planes:true,boats:false,rocketship:true,nukes:false);我希望它看起来像这样:LaunchThings(planes:true,boats:false,rocketship:true,nukes:false); 最佳答案 目前VisualStu

c# - 如果不使用返回值是否可能得到警告?

我有一个返回值的扩展方法。在这种情况下,它应该在一个字节中设置一个特定的位:publicstaticbyteSetBit(thisbyteb,intbitNumber,boolvalue){if(value){return(byte)(b|(1返回值需要重新赋值给一个变量,因为我不能结合this和ref:bytemyByte=3;myByte=myByte.SetBit(1,false);很容易不小心忘记作业。有人可能会认为该方法直接更改值。对于String.Replace,ReSharper/VisualStudio(?)警告我未使用纯方法的返回值:这在某种程度上也适用于我的方法吗?

c# - 具有多个参数的函数的 Resharper 右括号缩进

我在C#中有一些代码行,Resharper缩进如下:Console.WriteLine("Hello");this.MySuperFunction(argument1,argument2,argument3);Console.WriteLine("World");由于我个人的编码风格,我希望上面的代码出现在没有任何缩进的右括号(或大括号)中,如下所示:Console.WriteLine("Hello");this.MySuperFunction(argument1,argument2,argument3);Console.WriteLine("World");我尝试使用Resharpe

c# - 我能以某种方式告诉 Resharper ViewModel 的类型吗?

我们在不同的程序集中有Views和ViewModels。View的程序集具有对VM的引用。(有时我们需要隐藏代码)。ViewModel的DataContext是在代码中设置的,而不是在XAML中。因此,无论是VS还是Resharper都无法像智能感知那样提供帮助,Resharper也会给出很多警告。我们是否可以在XAML注释中为Resharper设置任何指令,以表明我们打算将View与特定类型的VM一起使用?更新:不错blogpost作为已接受答案的补充。 最佳答案 我遇到了同样的问题,并通过使用XAML中的设计时支持在XAML编辑

c# - Resharper 不会自动转换为可序列化类中的自动属性 ​​- 应该吗?

我今天遇到了这个问题并且能够确定,在进行代码清理时,R#不会将属性从具有支持字段转换为使用SerializableAttribute装饰的类中的自动属性,例如usingSystem;namespaceDataContracts{[Serializable]publicclassClass1{privatebool_wontChange;publicboolWontChange{get{return_wontChange;}set{_wontChange=value;}}}}上述代码在自动代码清理期间不会更改。当然,我可以手动执行此操作,而且我仍然可以从R#中获得快速操作菜单选项以在单个