I'm using VisualStudio 2008 and 2010, both with ReSharper, and when I try to lookup for usages of a given method I get no results, despite the method being inherited and then called through an interface. What's wrong? Is that a VS/ReSharper bug? See the example below:
using System;
namespace UsageNotFound
{
interface MyInterface
{
void Hello();
}
class SuperClass
{
public void Hello() //NOTE: VS 2008/2010 (with resharper)
seems unable to find usages on this!!!
{
Console.WriteLine("Hi!");
}
}
class SubClass : SuperClass, MyInterface
{
public static MyInterface GetInstance()
{
return new SubClass();
}
}
class Program
{
static void Main(string[] args)
{
SubClass.GetInstance().Hello();
}
}
}
Thanks, Fabrizio
It's all to do with the order in which
SubClass
inherits theHello()
method fromSuperClass
andMyInterface
.I'm surprised that you don't get a warning that the
SubClass.Hello()
(from implementing the interface definition) will hide theSuperClass.Hello()
.Probably because your
SuperClass
doesn't implement the interface. This may cause a problem for ReSharper. Try:This is a known issue: http://youtrack.jetbrains.net/issue/RSRP-46273 with no current target fix version