Freigeben über


Extrahieren und Inlineumgestaltungen

Visual Studio bietet mehrere Umgestaltungen zum Extrahieren von Code in neue Konstrukte oder das Inlining von Code, um die Codebasis zu vereinfachen. Sie können über das Menü "Schnelle Aktionen und Umgestaltungen " (STRG+) auf diese Umgestaltungen zugreifen.

Extraktionsmethode

Gilt für: C#, Visual Basic

Diese Umgestaltung wandelt ein Codefragment in eine eigene Methode um, wodurch die Duplizierung reduziert wird, wenn derselbe Code von mehreren Stellen aufgerufen werden muss.

  1. Markieren Sie den zu extrahierenden Code:

    • C#:

      Screenshot des C#-Codes für die Program-Klasse. In der Hauptfunktion dieser Klasse wird eine Codezeile hervorgehoben.

    • Visual Basic:

      Screenshot des Visual Basic Codes für den Hauptunterteil. In diesem Teil wird eine Codezeile hervorgehoben.

  2. Führen Sie als Nächstes eine der folgenden Aktionen aus:

    • Tastatur
      • Drücken Sie STRG+R, dann STRG+M. (Die Tastenkombination kann je nach ausgewähltem Profil unterschiedlich sein.)
      • Drücken Sie STRG+. Um das Menü "Schnelle Aktionen und Umgestaltungen" auszulösen , und wählen Sie " Extrahieren"-Methode im Popupfenster "Vorschau" aus.
    • Maus
      • Wählen Sie "Edit > Refactor > Extract"-Methode aus.
      • Klicken Sie mit der rechten Maustaste auf den Code, und wählen Sie "Extraktmethode > umgestalten>" aus.
      • Klicken Sie mit der rechten Maustaste auf den Code, wählen Sie das Menü "Schnelle Aktionen und Umgestaltungen" aus , und wählen Sie im Popupfenster "Vorschau" die Option "Methode extrahieren " aus.

    Die Methode wird sofort erstellt. Sie können die Methode jetzt umbenennen, indem Sie den neuen Namen eingeben.

    Tipp

    Sie können auch Kommentare und andere Zeichenfolgen aktualisieren, um diesen neuen Namen zu verwenden, sowie Änderungen vor dem Speichern in der Vorschau anzuzeigen, indem Sie die Kontrollkästchen im Feld "Umbenennen " verwenden, das oben rechts in Ihrer IDE angezeigt wird.

    • C#:

      Screenshot des C#-Codes für die Program-Klasse. Ein Methodenname ist hervorgehoben, und das Popupfenster

    • Visual Basic:

      Screenshot des Visual Basic Codes für den Hauptunterteil. Ein Methodenname ist hervorgehoben, und das Popupfenster

  3. Wenn Sie mit der Änderung zufrieden sind, wählen Sie die Schaltfläche "Übernehmen " aus, oder drücken Sie die EINGABETASTE , und die Änderungen werden übernommen.

Lokale Funktion extrahieren

Gilt für: C#

Diese Umgestaltung wandelt ein Codefragment aus einer vorhandenen Methode in eine lokale Funktion um, die nützlich ist, wenn der extrahierte Code nur innerhalb derselben Methode aufgerufen werden muss.

  1. Markieren Sie den zu extrahierenden Code.

  2. Drücken Sie STRG+., um das Menü Schnellaktionen und Refactorings aufzurufen.

  3. Wählen Sie "Lokale Funktion extrahieren" aus.

    Screenshot des Visual Studio Codefensters mit hervorgehobener Linie. Das Menü

Extrahieren der Basisklasse

Gilt für: C#, Visual Basic

Durch diese Umgestaltung werden Elemente aus einer ausgewählten Klasse in eine neue Basisklasse extrahiert, die nützlich ist, wenn Sie Elemente über die Vererbung hinweg freigeben möchten.

  1. Platzieren Sie Das Caret entweder auf dem Klassennamen oder einem hervorgehobenen Element.

  2. Drücken Sie STRG+., um das Menü Schnellaktionen und Refactorings aufzurufen.

  3. Wählen Sie Mitglied(er) in die neue Basisklasse hochziehen aus.

    Screenshot des Dialogfelds

Das neue Dialogfeld "Basisklasse extrahieren " wird geöffnet, in dem Sie den Namen für die Basisklasse und den Speicherort angeben können, an dem sie platziert werden soll. Sie können die Elemente auswählen, die Sie in die neue Basisklasse übertragen möchten, und die Elemente abstrahieren, indem Sie das Kontrollkästchen in der Spalte "Abstraktes Erstellen" aktivieren.

Extrahieren der Schnittstelle

Gilt für: C#, Visual Basic

Diese Umgestaltung erstellt eine Schnittstelle mithilfe vorhandener Member aus einer Klasse, Struktur oder Schnittstelle, sodass andere Typen eine gemeinsame Signatur gemeinsam nutzen können.

  1. Setzen Sie den Cursor in den Klassennamen.

    • C#:

      Screenshot des hervorgehobenen Codes für

    • Visual Basic:

      Screenshot des hervorgehobenen Codes - Visual Basic.

  2. Führen Sie als Nächstes eine der folgenden Aktionen aus:

    • Tastatur
      • Drücken Sie STRG+R und dann STRG+I. (Die Tastenkombination kann je nach ausgewähltem Profil unterschiedlich sein.)
      • Drücken Sie STRG+. Um das Menü "Schnelle Aktionen und Umgestaltungen" auszulösen , und wählen Sie " Schnittstelle extrahieren " im Popupfenster "Vorschau" aus.
    • Maus
      • Wählen Sie edit > Refactor > Extract Interface aus.
      • Klicken Sie mit der rechten Maustaste auf den Namen der Klasse, wählen Sie das Menü "Schnellaktionen und Umgestaltungen" aus , und wählen Sie " Schnittstelle extrahieren " im Popupfenster "Vorschau" aus.
  3. Geben Sie im Dialogfeld "Schnittstelle extrahieren ", das eingeblendt wird, die folgenden Informationen ein:

    Screenshot der Extrahieren-Schnittstelle.

    Feld Beschreibung
    Neuer Schnittstellenname Der Name der zu erstellenden Schnittstelle. Der Name wird standardmäßig auf "IClassName" festgelegt, wobei "ClassName " der Name der oben ausgewählten Klasse ist.
    Neuer Dateiname Der Name der generierten Datei, die die Schnittstelle enthält. Wie bei dem Schnittstellennamen wird dieser Name standardmäßig auf "IClassName" festgelegt, wobei "ClassName " der Name der oben ausgewählten Klasse ist. Sie können auch die Option zum Hinzufügen zur aktuellen Datei auswählen.
    Auswählen öffentlicher Mitglieder zur Formularschnittstelle Die Elemente, die in die Schnittstelle extrahiert werden sollen. Sie können beliebig viele auswählen.
  4. Wählen Sie "OK" aus.

    Die Schnittstelle wird in der Datei des angegebenen Namens erstellt. Darüber hinaus implementiert die ausgewählte Klasse diese Schnittstelle.

    • C#:

      Screenshot der resultierenden Klasse – C#.

      Screenshot der resultierenden Schnittstelle - C#.

    • Visual Basic:

      Screenshot der resultierenden Klasse - Visual Basic.

      Screenshot der resultierenden Schnittstelle - Visual Basic.

Inlinemethode

Gilt für: C#, Visual Basic

Diese Umgestaltung ersetzt die Verwendung einer statischen, Instanz oder Erweiterungsmethode innerhalb eines einzelnen Anweisungstexts durch die Implementierung durch eine Option zum Entfernen der ursprünglichen Methodendeklaration.

  1. Platzieren Sie Ihre Caret auf die Verwendung der Methode.

  2. Drücken Sie STRG+., um das Menü Schnellaktionen und Refactorings aufzurufen.

  3. Wählen Sie eine der folgenden Optionen aus:

    Wählen Sie "Inline <QualifiedMethodName> " aus, um die Inlinemethodendeklaration zu entfernen:

    Screenshot des Menüs

    Wählen Sie "Inline" aus, und behalten Sie die <QualifiedMethodName> ursprüngliche Methodendeklaration bei:

    Screenshot des Menüs

Einbetten einer temporären Variablen

Gilt für: C#, Visual Basic

Durch diese Umgestaltung wird eine temporäre Variable entfernt und stattdessen durch ihren Wert ersetzt, wodurch Code vereinfacht wird, wenn die temporäre Variable den Code schwieriger zu verstehen macht.

  1. Markieren oder platzieren Sie den Textcursor in der temporären Variablen, die inlineiert werden soll:

    • C#:

      Screenshot des hervorgehobenen Codes für inline temporäre Variable - C#.

    • Visual Basic:

      Screenshot des hervorgehobenen Codes Visual Basic.

  2. Führen Sie als Nächstes eine der folgenden Aktionen aus:

    • Tastatur
      • Drücken Sie STRG+., um das Menü Schnellaktionen und Refactorings aufzurufen.
    • Maus
      • Klicken Sie mit der rechten Maustaste auf den Code, und wählen Sie das Menü "Schnelle Aktionen und Umgestaltungen" aus.
  3. Wählen Sie im Popupfenster "Vorschaufenster " die temporäre Variable "Inline " aus.

    Die Variable wird entfernt und ihre Verwendungen durch den Wert der Variablen ersetzt.

    • C#:

      Screenshot des Inlineergebnisses - C#.

    • Visual Basic:

      Screenshot des Inlineergebnisses - Visual Basic.