c# – Custom ReSharper模式 – 使用String.SomeMethod而不是string.SomeMethod

我知道C#中的字符串和字符串没有区别(除了为System.String添加的使用系统).仍然,就像在 this SO-answer中一样,我更喜欢使用带有小写的字符串作为类型的字符串,当我调用String.someMethod时使用带有大写字母S的字符串(例如String.IsNullOrWhitespace(…); String.Format( …)或String.Empty.

I know I can add custom patterns in ReShaper using Visual Studio RESHARPER menu -> Option -> Code Inspection -> Custom Patterns -> Add pattern.添加了以下自定义模式:

>搜索模式:字符串.$method $
>模式严重性:显示为建议
>匹配类似的结构:未选中
>搜索说明:检查是否使用string.someMethod而不是String.someMethod
>替换pattern:String.$method $
>更换后的格式:已选中
>缩短参考:未选中
>替换描述:使用String而不是string

在像string.IsNullOrWhitespace(…)这样的行上,它确实提供了建议并将其正确替换为String.IsNullOrWhitespace(…).然而问题是,它现在也提出了它已经正确或在我更换之后的建议.那么是否可以使搜索模式区分大小写?所以它只会在string.someMethod上给出建议,而不是在String.someMethod?

编辑:此外,是否可以选择将其应用于整个项目/解决方案,类似于警告删除文件中未使用的指令 – >删除解决方案中未使用的指令(在v8.0或更高版本中)?

解决方法

您获得此行为的原因是因为字符串和字符串是相同的,并且ReSharper经常在后台执行类型缩减. SSR就是这样一个可以进行大量概括和可能重新排列的地方.简而言之,SSR是为语法变化而设计的,而你(有效地)正在做的是执行一个纯粹的象征性变化,就任何人而言,它实际上并没有改变代码.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...