¿Hay alguna manera de mostrar todas las clases que implementan un método determinado desde una interfaz? Si hace clic en F12 en Visual Studio en una llamada a método, irá a su definición. Si es una interfaz, entonces todavía tienes que ir y buscar la clase. Sería bueno poder obtener una ventana emergente y elegir una de las clases que implementa la interfaz ... ¿Eso existe?Ir a Definición en Visual Studio - Interfaces
Respuesta
Necesita usar un complemento que lo habilite (o escriba el suyo).
ReSharper y Visual Assist tienen esta característica.
Reflector puede hacerlo (al menos en los ensamblajes que tiene abiertos).
(Es evidente que no puede haber una implementación en cualquier asamblea, por lo que una búsqueda completa para todos los aplicación requeriría comprobar cada asamblea.)
utilizo el DevExpress/CodeRush Go To Implementator plugin (todo gratis).
Si instala DevExpress no es obvio cómo iniciarlo, se supone que debes usar el cambio - ctrl - alt - corto o teclado pero recomiendo agregarlo al menú de archivo añadiendo la siguiente entrada de registro:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Developer Express\CodeRush for VS\11.2]
"HideMenu"=dword:00000000
(Drop the \Wow6432Node\
si estás en 32 bits)
Y sin que en estancando cualquier extensión de Visual Studio ...
Si hace clic derecho en el método y selecciona 'buscar todas las referencias' o presiona f12 + shift, se devolverá una lista de implementaciones en Find Symbol Results; ordenado por interfaz, clase, método de llamada.
actualización
Instalar VS 2015, haga clic derecho - GoToImplementation (si tiene una implementación de la interfaz, VS navegará directamente a él, si tiene dos o más, VS mostrará una lista de ellos)
¡Por supuesto que ya existe en Visual Studio! Está allí desde siempre.
Haga clic derecho en su código (por ejemplo, propiedad) y seleccione "Ver jerarquía de llamadas". En la ventana Call Hierarchy, seleccione la carpeta Implements.
Ahí lo tienes. ¿Por qué Resharper? Por supuesto, no es tan complejo como ir a la implementación de resharper, que permite la interrogación directa en la interfaz, pero solo una propiedad o un método de esa interfaz debería ser suficiente. Ej:
public interface IModule
{
int Count { get; set; }
}
public class Module : Imodule
{
public int Count {get; set;}
}
public class Module2 : Imodule
{
public int Count {get; set;}
}
Haga clic derecho sobre la propiedad Count (en cualquier lugar - dentro de la clase o en el interior de la interfaz) y seleccione "Ver Jerarquía de llamada", debe decir qué clase implementa, y por lo tanto, toda la interfaz.
Al principio, todos amamos Resharper, ¡con el tiempo, todos lo odiamos!
Otra alternativa es colocar el cursor sobre el método que desea investigar, luego presionar ctrl +, (control y la tecla de la coma) Esto mostrará el diálogo de navegación con la interfaz y la implementación del método.
- 1. Ir a definición se produce un error - Visual Studio 2008
- 2. Ir a la declaración en Visual Studio
- 3. Ir a la definición en concreto tipo
- 4. En Visual Studio 2008, ¿cómo puedo hacer que el control + clic haga un "Ir a definición"?
- 5. Ir a Definición Como Funcionalidad en SQL SERVER
- 6. Notepad ++ ir a la definición
- 7. Cómo ir y venir en visual studio 2010
- 8. Mezcla de proyectos C# y VB.NET = roto "Ir a definición"
- 9. ir a la definición plugin gedit
- 10. Ir a la definición de función en vim
- 11. Problema "ir a la definición" de Eclipse
- 12. Visual Studio Ir a Definición (F12) abre el Explorador de objetos en lugar de la Vista de código
- 13. Atajo de Visual Studio 2010 para volver desde la definición
- 14. Global "Ir a definición" en vim para Ruby?
- 15. Definición de toda la solución en Visual Studio?
- 16. Ir a la documentación de una función/clase en Visual Studio
- 17. ¿Qué archivos/carpetas en una solución C# de Visual Studio 2010 deben ir a Mercurial DVCS?
- 18. Dos archivos que contienen la definición de main() Visual Studio?
- 19. ¿Clone la definición de compilación de TFS en Visual Studio 2012/2013/2015?
- 20. "No se puede navegar a la definición" molestia en Visual Studio 2010
- 21. Extensión de Visual Studio 2010 para la implementación Ir a la interfaz?
- 22. alternativa a visual studio 2010
- 23. Obligar a Solution Explorer a seleccionar el archivo en el editor en visual studio 2005
- 24. haciendo referencia a system.management.automation.dll en Visual Studio
- 25. alternativa a xsd.exe en Visual Studio 2010
- 26. Obtener ctags en vim para ir a la definición, no a la declaración
- 27. Boo en Visual Studio?
- 28. #warning en Visual Studio
- 29. LINQPad en Visual Studio
- 30. C en Visual Studio
CTRL - F12 (GoToImplementation), Visual Studio 2015 –