ReSharper自定义模式表达式变量类型为,但不是文字类型

ReSharper自定义模式表达式变量类型为,但不是文字类型,resharper,Resharper,我正在ReSharper中开发一些自定义模式,使事情变得更简单,但我遇到了一些障碍 我的模式之一是,我想替换string.Compare的任何实例(当用于测试相等性时),并将其替换为string.Equals。乍一看,这很容易 我创建了一个模式: string.Compare($STRING1$, $STRING2$, $STRINGCOMPAREOPTIONS$) == 0 这里,$STRINGCOMPAREOPTIONS$是StringComparation类型的表达式。这句话非常适合这个

我正在ReSharper中开发一些自定义模式,使事情变得更简单,但我遇到了一些障碍

我的模式之一是,我想替换string.Compare的任何实例(当用于测试相等性时),并将其替换为string.Equals。乍一看,这很容易

我创建了一个模式:

string.Compare($STRING1$, $STRING2$, $STRINGCOMPAREOPTIONS$) == 0
这里,$STRINGCOMPAREOPTIONS$是StringComparation类型的表达式。这句话非常适合这个案例:

if(string.Compare("Foo", "Bar", StringComparison.Ordinal) == 0)
当然,我的替换模式也很简单:

 string.Equals($STRING1$, $STRING2$, $STRINGCOMPAREOPTIONS$)
现在,我需要使用非文化版本。这个看起来像这样:

if (string.Compare("Foo", "Bar", true) == 0)
string.Compare($STRING1$, $STRING2$, someVariable) == 0
现在,在这里,ReSharper已经有了一个内置的检查器来将其转换为使用StringComparison操作符,但问题是,我必须进行第二次转换以使用Equals。。我宁愿写一个一步完成转换的

很明显,我可以写不同的真假版本,比如:

string.Compare($STRING1$, $STRING2$, true) == 0

但是,这并没有考虑到有人这样写的情况:

if (string.Compare("Foo", "Bar", true) == 0)
string.Compare($STRING1$, $STRING2$, someVariable) == 0
所以,我需要的是一个bool类型的表达式,但不是文本true或false,这样我就可以创建一个添加条件表达式的版本

关于如何创建一种类型的模式,而不是文字类型的模式,有什么想法吗