簡體   English   中英

自定義ReSharper模式-使用String.SomeMethod代替string.SomeMethod

[英]Custom ReSharper pattern - using String.SomeMethod instead of string.SomeMethod

我知道C#中的stringString之間沒有區別(除了為System.String添加的using System之外)。 不過,同樣喜歡在這個所謂的答案 ,我寧願使用字符串以小寫s類型和字符串以大寫S的時候我叫String.SomeMethod(例如String.IsNullOrWhitespace(...) ; String.Format(...)String.Empty

我知道我可以使用Visual Studio RESHARPER menu -> Option -> Code Inspection -> Custom Patterns -> Add pattern模式在ReShaper中添加自Custom Patterns 我添加了以下自定義模式:

  • 搜索模式: string.$method$
  • 模式嚴重性: Show as suggestion
  • 匹配類似的結構: Unchecked
  • 搜索描述: Check if string.SomeMethod is used instead of String.SomeMethod
  • 替換模式: String.$method$
  • 更換后的格式:已Checked
  • 縮短參考: Unchecked
  • 替換描述: Use String instead of string

在類似string.IsNullOrWhitespace(...)它確實給出了建議,並將其正確替換為String.IsNullOrWhitespace(...) 但是,問題在於,當它已經正確或在我替換它之后,它現在還會給出建議。 那么有可能使搜索模式區分大小寫嗎? 因此,它將僅在string.SomeMethod處給出建議,而不是在String.SomeMethod處給出建議?

編輯:此外,是否有可能將其應用於整個項目/解決方案,類似於警告Remove unused directives in file -> Remove unused directives in solution中的Remove unused directives in solution (在v8.0或更高版本中)?

之所以會出現這種現象,是因為stringString相同,並且ReSharper經常在后台執行類型縮減。 SSR就是這樣的地方,其中進行了許多概括和可能的重新安排。 簡而言之,SSR專為語法更改而設計,您(有效地)在做的是執行純粹的符號更改,對於任何人而言,實際上都不會更改代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM