微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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是为语法变化而设计的,而你(有效地)正在做的是执行一个纯粹的象征性变化,就任何人而言,它实际上并没有改变代码.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐