Frage

Angenommen, Sie eine Schnittstelle in C # definiert haben. Was ist die einfachste Methode, um alle Klassen zu finden, die eine Implementierung der Schnittstelle zur Verfügung stellen?

Die Brute-Force-Methode wäre die Verwendung von „Referenzen suchen“ in Visual Studio und manuell die Ergebnisse schauen durch die Verwendungen von den Implementierungen zu trennen, aber für eine Schnittstelle in einer großen Code-Basis, die stark ist verwies mit relativ wenigen Implementierungen kann dies zeitaufwendig und fehleranfällig sein.

In Java läuft javadoc auf der Code-Basis (die -privater Option private Klassen enthalten) würde eine Dokumentationsseite für die Schnittstelle erzeugen (zB

Andere Tipps

Sie können direkt einen Methodennamen klicken (Definition in-Schnittstelle oder Implementierung in anderer Klasse) und Ansicht Aufrufhierarchie wählen. In Aufrufhierarchie Fenster gibt es „Implementiert“ Ordner, in dem Sie alle Standorte der Interface-Methode Umsetzung finden.

Setzen Sie den Cursor auf Klassen- oder Schnittstellentyp und

Strg + F12

Mit Visual Studio 2010 +

Das Recht, ein Mitglied Methode klicken und Ansicht Aufrufhierarchie wählen. Erweitern Sie den Ordner Implementiert. Diese listet alle Typen, die die Schnittstelle der Methode implementieren gehört.

eingeben Bild Beschreibung hier

Mit ReSharper 7

Rechtsklick die Schnittstelle> Navigiere zu> Abgeleitet Symbole. Die Symbole aufgeführt in fett leiten sich direkt aus der Schnittstelle. Nicht fett Symbole ergeben sich aus einer übergeordneten Klasse.

eingeben Bild Beschreibung hier

Für diejenigen, die mit Visual Studio 2015 gibt es diese fantastische Erweiterung Go . Probieren Sie es aus.

Wenn Sie die Erweiterung installiert haben, können Sie klicken Sie einfach rechts an allen möglichen Vorkommen der Schnittstelle (z IUrlShortener) und klicken Sie auf Go To Implementation Menü. Wenn Sie nur eine Klasse, die die Schnittstelle implementiert, um das Menü zu klicken, gelangen Sie direkt in die Klasse bringen. Wenn Sie mehr als eine Klasse, die die Schnittstelle implementiert, wird es alle Klassen auflisten.

Für diejenigen, die mit Visual Studio 2015 installiert Visual Studio 2015 Update 1 RC. Aus dem :

  

Heute haben wir Visual Studio 2015 Update 1 RC, die auf dem Update 1 CTP bauen wir vor drei Wochen veröffentlicht. Zusätzlich zu den in der CTP eingeführten Merkmale wie hier beschrieben, enthält die Release Candidate folgt:

     
      
  • Lesen Sie die Implementierung . Das Feature viele von Ihnen hat gewartet. Nur die rechte Maustaste auf einer Schnittstelle oder abstrakte Methode und wählen Sie diesen Befehl, um die Umsetzung zu navigieren
  •   

Ich glaube nicht, diese Funktionalität ist integriert in VS, aber IIRC ReSharper dies hat.

Sie können einen regulären Ausdruck suchen für die Schnittstelle tun.

:(\ *[^},]+,)*\ *IMyInterfaceName

CTRL + SHIFT + F startet das folgende Fenster an:

Visual Studio Screenshot

Ich ziehe das „Navigieren zu ...“ auswählen. Mit dem Cursor auf den Funktionsaufruf, versuchen Sie Folgendes:

Kurztaste:

  1. Strg +, (Strg + Komma)

Menü:

  1. Bearbeiten-Menü
  2. Klicken Sie auf "Navigieren zu ..."

Vorteile:

  • zeigt nicht alle Verweise wie „Alle Verweise suchen“
  • Zeigt die „Typ“ der Umsetzung so wird es beachten, die Ihre Schnittstelle ist

Mit Shift + F12 alle Verweise zu zeigen, einschließlich der Definitionen.

Wenn Sie ReSharper ALT + END Verknüpfung könnte helfen, alle Inheritors zu finden.

Ich habe tell gehört (keine Erfahrung selbst), dass doxygen ist .Net wie javadoc ist java.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top