Spesso durante la navigazione codice, ho imbatterete in qualcosa di simile:passare al metodo implementato, piuttosto che l'interfaccia
public class Fruity
{
private IOrange _Orange;
public Fruity()
{
_Orange = new Orange() as IOrange;
}
public void PrepareFruit()
{
return _Orange.Peel();
}
}
Grande, così ora voglio vedere come il metodo di Peel è implementato. Facendo clic con il pulsante destro del mouse sul metodo, mi viene dato Go To Definition che mi porta allo stub dell'interfaccia.
OK, in senso stretto, la definizione è attribuita dall'interfaccia dato che la variabile privata è definita in questo modo, ma esiste un modo per andare semplicemente all'implementazione?
Ovviamente è possibile trovare tutte le referenze, ovvero un approccio a dispersione di chiamate, interfacce e concrezioni. Ma la fonte della realizzazione è evidente in questo caso quindi dovrei essere in grado di saltare ad esso avrei pensato ...
Evidentemente, a volte ci possono essere ambiguità che è descritto bene qui:
Go to definition on concrete type
Ma sicuramente, ci dovrebbe essere un'opzione di implementazione Go To quando l'implementazione è chiara.
Potrebbe valere la pena di scaricare una versione di prova di ReSharper, che ha un "vai a implementazione" e un sacco di altre cose, io don So come ho mai funzionato senza di essa.Non so come fare la stessa cosa nell'IDE predefinito – NDJ
Non è affatto chiaro. Le parentesi non corrispondenti suggeriscono che non hai pubblicato l'intera classe 'Fruity', quindi come possiamo sapere che non hai una funzione membro che imposta' _Orange' su 'new MangoPretendingToBeAnOrange()'? – hvd
Sembra un duplicato di: http://stackoverflow.com/questions/4662784/visual-studio-is-there-a--to-navigate-to-real-implementation-of-method-behin? – nicodemus13