How do you quickly find the implementation(s) of an interface's method? [duplicate]
Is there a quick way to find all of the implementations of, not references to, an interface's method/property/etc? Here's some sample code:
public class SomeClass : IBaseClass
{
public Int32 GetInt()
{
return 1;
}
}
public interface IBaseClass
{
public Int32 GetInt();
}
public class SomeOtherClass
{
IBaseClass _someClass;
private TestMethod()
{
_someClass = new SomeClass();
_someClass.GetInt();
}
}
I want to quickly get to SomeClass.GetInt() while reviewing SomeOtherClass.TestMethod(). If I right click on _someClass.GetInt() and click 'Go To Definition', it takes me to the interface. If I click 'Find All References', I could potentially see a list of all uses ... not just the classes that implement the GetInt() method.
Is there a faster way to find this? Any tips from other developers? We are using D.I. for most of our dependencies, which means that tracing through deeply nested code takes forever.
Solution 1:
Since I don't like to use the mouse while coding, I usually
- move the cursor over the method
- type ctrl+k clrl+t to open the Call Hierarchy window
- move down to Implements node.
- type Return to go to the selected implementation
AFAIK this is the quickest way to find the implementation of a method, without ReSharper.
(By the way: you can use the same system to move from a class method implementation to the corresponding interface declaration: just select the root)
Solution 2:
Alt-End will do this in ReSharper, I believe.