2010-11-20 27 views
6

¿Hay una extensión para Visual Studio que permita hacer Ir a la Definición de un método y hacer que vaya directamente a la implementación concreta en lugar de la interfaz? La mayoría de mi código está basado en inteface y si lo hago Vaya a la definición va directo a la interfaz que tiene sentido, sea agradable tener la implementación de Ir a Concreto ... GraciasIr a la definición en concreto tipo

Respuesta

4

Si usando resharper que ofrece ir a la ejecución y si hay diferentes implementaciones se puede escoger entre diferentes tipos de aplicación.

También en el estudio visual puede usar find all references, el icono de método es diferente de las llamadas, también puede navegar en ellas por F8.

Y en el estudio visual 2010 o posterior puede usar "ctrl" + "," y escribir el nombre en la ventana que aparece en esta acción, luego seleccionar entre los candidatos, en este caso, se permitió escribir abreviaturas, ....

2

Esto no es posible, ya que el IDE no No sé qué implementación se usa cuando hace clic con el botón derecho en un método. Teniendo en cuenta este ejemplo, el método a la IDE navegue hasta:

public interface IGreeterService 
{ 
    string Greet(string person); 
} 

public class EnglishGreeterService : IGreeterService 
{ 
    string Greet(string person) 
    { 
    return "Hello, " + person + "."; 
    } 
} 

public class GermanGreeterService : IGreeterService 
{ 
    string Greet(string person) 
    { 
    return "Guten Tag, " + person + "."; 
    } 
} 

public class PersonGreeter 
{ 
    private readonly IGreeterService _Service; 

    public PersonGreeter(IGreeterService service) 
    { 
    _Service = service; 
    } 

    public void SayHallo() 
    { 
    _Service.Greet("user282807"); 
    } 
} 

Es imposible saber qué aplicación se utiliza en la clase PersonGreeter; ese es el punto de las interfaces, por lo que no depende de una implementación específica. Por supuesto, esto puede ser agotador mientras se desarrolla.

+2

que puede ofrecer implementaciones. –

+0

Por supuesto que podría, pero eso contradiría el nombre "Ir a definición". El método se define en la interfaz, por eso se muestra. – Femaref

+0

Acepto que es por eso que mencioné Ir a implementación y si hay más de uno, por lo menos puede elegir, haga clic derecho en el método y luego en el menú contextual que tiene las fuentes de implementación para navegar. – user282807

0

Hola que no sé puede ser útil o no, pero yo uso ayuda visual "Buscar todas las referencias"

0

Visual Assist incluye implementaciones de interfaz en su comando alt + g (ir a) desde Build 1836 (10 de noviembre de 2010).

1

Si está utilizando CodeRush a continuación, puede utilizar las teclas Ctrl + Alt + N para abrir las opciones de navegación e ir a Implementaciones

Cuestiones relacionadas