C# ReSharper能否对声明使用关键字,但对成员访问使用类型名称?

C# ReSharper能否对声明使用关键字,但对成员访问使用类型名称?,c#,resharper,C#,Resharper,ReSharper的功能可以在使用别名类型名称的关键字时查找不一致的地方。例如,它将看到这两个声明,并敦促您将其中一个更改为与另一个相同(取决于您的首选项): 这很方便,因为在声明变量时,我总是喜欢使用CLR类型的关键字别名,因此在上面的示例中,我希望更正第二行。然而,这也是有问题的,因为当使用CLR类型的静态成员时,我总是喜欢使用类型名而不是关键字。考虑下面的例子: string myString1 = "String 1"; string myString2 = String.Format(

ReSharper的功能可以在使用别名类型名称的关键字时查找不一致的地方。例如,它将看到这两个声明,并敦促您将其中一个更改为与另一个相同(取决于您的首选项):

这很方便,因为在声明变量时,我总是喜欢使用CLR类型的关键字别名,因此在上面的示例中,我希望更正第二行。然而,这也是有问题的,因为当使用CLR类型的静态成员时,我总是喜欢使用类型名而不是关键字。考虑下面的例子:

string myString1 = "String 1";
string myString2 = String.Format("{0} is String 1.", myString1);
如果该选项设置为首选使用关键字,则ReSharper不会抱怨声明,但会抱怨使用类型名称访问静态String.Format()方法


所以,我的问题是。。。有没有办法配置ReSharper,使其在声明时更喜欢关键字,而在静态成员访问时更喜欢类型名称?换句话说,我可以将其配置为不抱怨上面第二个示例中的任何代码。

好吧,您不能在ReSharper上这样做,正如您在中的帖子评论中所建议的那样。无论如何,你能做的最好的事情就是忽略它,我做了(请忽略gif中的其他代码行)。我正在使用ReSharper 9.1.3,FSF许可。我希望这能有所帮助。

从2018年2月起,现在可以做到:


您是否也在使用Stylecop?您还需要更改规则…@PatrickQuirk不,我不是,但感谢您为其他人提供了可能相关的提示。我和@bubbleking一样喜欢,在变量声明(返回、参数等)中使用关键字,在方法访问中使用CLR类型,这是一种非常好的风格。ReSharper有功能投票吗?有,但你不能投票。很奇怪,你刚刚发布了这个,因为在过去半小时内,我在ReSharper文档的评论中发布了这个请求。我想是巧合吧?确实如此。我对你怎么能链接到我的推特和其他帐户感到困惑,但事实证明你没有!这太棒了。现在我希望他们能让我们在有人将关键字与静态成员一起使用时抛出警告或错误。换句话说,我想强制执行,而不仅仅是允许使用带有声明的关键字和具有成员访问权限的类型名称。@bubbleking好吧,您可以将其设置为错误严重性,但您必须在团队范围的R#settings层中共享它。或者实现一个自定义的Roslyn分析器。
string myString1 = "String 1";
string myString2 = String.Format("{0} is String 1.", myString1);