任何人都可以指导我为以下签名创建resharper结构搜索:
namespace System
{
public static IDisposable Subscribe<T>(this IObservable<T> source, Action<T> onNext);
}
我正在尝试检测rx subscribe函数的这个重载的使用,因为它没有指定onError处理程序,这会导致错误的地方出现异常。因此,我希望匹配T的任何专业化。
我尝试了一些选项,似乎无法使其与此泛型类型的特定实例类型相匹配。我的尝试只匹配显式使用IObservable的泛型方法,而不是像IObservable那样的专门化。
我曾尝试过:
Subscribe(System.IObservable<$type$>, Action<$type$>)
其中$ type $只是一个没有特定类型的类型占位符。
由于
答案 0 :(得分:1)
我努力从结构化搜索中获得任何有用的结果。对于泛型来说,它并不是很好。
我想知道正则表达式搜索是否有用。这为我找到了很多候选人:
\.Subscribe\([^,]*\)(?!,)
其中包含查找字符串的逻辑,该字符串以“.Subscribe(”,然后在没有逗号的情况下直到“)”之后找不到逗号。这有点令人费解,但似乎处理OnNext表达式非常简单的情况。使用风险自然,因为它显然不会是完美的。
另外,请不要忘记仅OnNext
和OnCompleted
处理程序的订阅扩展程序方法。
修改
正如OP评论中所提到的,R#的“查找用法”也有效,可能比这更好 - 但我无法在结构化搜索中获得相同的效果。
答案 1 :(得分:0)
我想你想要
Subscribe($id0$, $id1$)
你从下拉菜单中限制$ id0 $和$ id1 $成为特定类型的参数
答案 2 :(得分:0)
目前还不可能,所以jetbrains开了一张票。