仅从特定子类查找继承方法的用法
本文关键字:继承 方法 用法 查找 子类 | 更新日期: 2023-09-27 18:34:24
我有一个被许多子类继承的超类。我想在这个超类中找到对某个方法的所有调用,这些调用源自特定继承类的实例。 这在VS2012(使用Resharper 7.1(中可能吗?
代码示例:
public class Super
{
public void foo(Arg a)
{
...
}
}
public class Sub1 : Super
{
...
}
public class Sub2 : Super
{
...
}
public class SomeClass
{
public void Run()
{
...
var sub1 = new Sub1();
sub1.foo(a);
var sub2 = new Sub2();
sub2.foo(b);
}
}
我只想找到调用sub2.foo(b)
而不是在上面的示例中sub1.foo(a)
。
您应该能够使用结构搜索和替换来设置模式以查找用法。转到 ReSharper -> 查找 -> 使用模式搜索。创建模式,例如 $exp$.Foo($args$)
。然后为 exp
添加一个"表达式"占位符。您可以指定这应该是什么类型,并选中复选框以指定确切的类型。在这里,您将输入完全限定的类型 All.Your.Namespaces.Sub2
。然后为args
添加一个"参数"占位符。不选中所有内容 - 它将匹配任意数量的参数。单击查找应从与Sub2
匹配的任何表达式中找到对Foo
的所有调用。