从子类中查找静态方法的用法

时间:2016-02-23 10:26:54

标签: c# visual-studio resharper

我有一个流行的基类,它有一个静态方法BaseStaticMethod(),它的行为会根据调用它的子类而改变:

SubClass1.BaseStaticMethod()SubClass2.BaseStaticMethod()

不同

然后,我想找到该方法的所有用法,仅用于特定的子类(E.G。SubClass2.BasicStaticMethod()

我对SubClass2.BasicStaticMethod()进行文本搜索,因为有时会在没有子类标识符的情况下调用它,并且会遗漏一些用法。

有没有办法在Visual Studio中使用ReSharper实现此目的?

internal class Program
{
    private static void Main()
    {
        Derived1.Create();
        Derived2.Create();

        new Derived1().Save();
        new Derived2().Save();
    }
}

internal class Base<T> where T : new()
{
    public static T Create() => new T();

    public void Save() { }
}

internal class Derived1 : Base<Derived1> { }
internal class Derived2 : Base<Derived2> { }

1 个答案:

答案 0 :(得分:0)

尝试Advanced Find Usages,其中显示了一个可用于更改范围的对话框,以及目标 - 例如方法,您可以选择例如:接口或基类。我不确定它如何与静态方法一起使用,因为它们实际上并没有覆盖。

或者,重命名基类方法,查找用法并重命名。