Umbenennen

Aktualisiert: November 2007

Umbenennen ist ein Umgestaltungsfeature in der IDE (integrierte Entwicklungsumgebung) von Visual Studio, mit dem Sie auf einfache Weise Bezeichner für Codesymbole wie Felder, lokale Variablen, Methoden, Namespaces, Eigenschaften und Typen umbenennen können. Umbenennen kann verwendet werden, um die Namen in Kommentaren und Zeichenfolgen sowie Deklarationen und Aufrufe eines Bezeichners zu ändern.

Hinweis:

Wenn Sie die die Quellcodeverwaltung von Visual Studio verwenden, rufen Sie die neueste Version der Quellen ab, bevor Sie die Umgestaltung mit Umbenennen ausführen.

Die Umgestaltung mit Umbenennen ist in den folgenden Visual Studio-Features verfügbar:

Feature

Verhalten der Umgestaltung in der IDE

Code-Editor

Im Code-Editor ist die Umgestaltung mit Umbenennen verfügbar, wenn Sie den Cursor auf bestimmten Codesymboltypen positionieren. Wenn sich der Cursor an dieser Position befindet, können Sie den Befehl Umbenennen über die Tastenkombination (STRG+R, R) oder durch Auswahl des Befehls Umbenennen aus einem Smarttag, Kontextmenü oder dem Menü Umgestalten aufrufen. Wenn Sie den Befehl Umbenennen aufrufen, wird das Dialogfeld Umbenennen angezeigt. Weitere Informationen finden Sie unter Dialogfeld "Umbenennen" und unter Gewusst wie: Umbenennen von Bezeichnern.

Klassenansicht

Wenn Sie einen Bezeichner in der Klassenansicht auswählen, ist die Umgestaltung mit Umbenennen im Kontextmenü und im Menü Umgestalten verfügbar.

Objektbrowser

Wenn Sie einen Bezeichner im Objektbrowser auswählen, ist die Umgestaltung mit Umbenennen nur im Menü Umgestalten verfügbar.

Eigenschaftenraster des Windows Forms-Designers

Wenn Sie den Namen eines Steuerelements im Eigenschaftenraster des Windows Forms-Designers ändern, wird ein Umbenennungsvorgang für dieses Steuerelement gestartet. Das Dialogfeld Umbenennen wird nicht angezeigt.

Projektmappen-Explorer

Im Projektmappen-Explorer ist der Befehl Umbenennen im Kontextmenü verfügbar. Wenn die ausgewählte Quelldatei eine Klasse enthält, deren Klassenname dem Dateinamen entspricht, können Sie mit diesem Befehl die Quelldatei umbenennen und gleichzeitig die Umgestaltung mit Umbenennen ausführen.

Wenn Sie beispielsweise eine Windows-Standardanwendung erstellen und dann Form1.cs in TestForm.cs umbenennen, wird der Quelldateiname Form1.cs in TestForm.cs geändert, und die Klasse Form1 sowie alle Verweise auf diese Klasse werden in TestForm umbenannt.

Hinweis:
Durch den Befehl Rückgängig (STRG+Z) wird die Umgestaltung mit Umbenennen nur im Code rückgängig gemacht. Der Dateiname wird nicht in den ursprünglichen Namen zurückgeändert.

Wenn die ausgewählte Quelldatei keine Klasse enthält, deren Name mit dem Dateinamen übereinstimmt, wird durch den Befehl Umbenennen im Projektmappen-Explorer nur die Quelldatei umbenannt und keine Umgestaltung mit Umbenennen ausgeführt.

Umbenennungsvorgänge

Wenn Sie Umbenennen ausführen, führt das Umgestaltungsmodul für die einzelnen Codesymbole spezifische Umbenennungsvorgänge aus, wie in der folgenden Tabelle beschrieben.

Codesymbol

Umbenennungsvorgang

Feld

Ändert die Deklaration und Vorkommen des Feldes in den neuen Namen.

Lokale Variable

Ändert die Deklaration und Vorkommen der Variablen in den neuen Namen.

Methode

Ändert den Namen der Methode und alle Verweise auf diese Methode in den neuen Namen.

Hinweis:
Wenn Sie eine vorhandene Methode umbenenne, wird die Umbenennung auf alle Instanzen der Methode angewendet, die sich im Gültigkeitsbereich befinden, und zwar unabhängig davon, ob eine Erweiterungsmethode als statische Methode oder Instanzmethode verwendet wird. Weitere Informationen finden Sie unter Erweiterungsmethoden (C#-Programmierhandbuch).

Namespace

Ändert den Namen des Namespaces in der Deklaration, allen using-Anweisungen und vollqualifizierten Namen in den neuen Namen.

Hinweis:
Beim Umbenennen eines Namespaces aktualisiert Visual Studio auch die Standardnamespace-Eigenschaft auf der Seite Anwendung des Projekt-Designers. Diese Eigenschaft kann durch Auswahl von Rückgängig im Menü Bearbeiten nicht zurückgesetzt werden. Um den Wert der Standardnamespace-Eigenschaft zurückzusetzen, müssen Sie die Eigenschaft im Projekt-Designer ändern. Weitere Informationen finden Sie unter Seite 'Anwendung'.

Eigenschaft

Ändert die Deklaration und Vorkommen der Eigenschaft in den neuen Namen.

Typ

Ändert alle Deklarationen und Vorkommen des Typs, einschließlich Konstruktoren und Destruktoren, in den neuen Namen. Bei partiellen Typen wirkt sich der Umbenennungsvorgang auf alle Teile aus.

Hinweise

Umbenennen implementiert oder überschriebene Member

Wenn Sie einen Member umbenennen, der Member in anderen Typen implementiert/überschreibt bzw. von Membern in anderen Typen implementiert/überschrieben wird, zeigt Visual Studio ein Dialogfeld an, in dem Sie darauf hingewiesen werden, dass der Umbenennungsvorgang zu kaskadierenden Aktualisierungen führt. Wenn Sie auf Weiter klicken, führt das Umgestaltungsmodul eine rekursive Suche und Umbenennung aller Member in Basistypen und abgeleiteten Typen aus, die in einer Implementierungs-/Überschreibungsbeziehung zu dem umbenannten Member stehen.

Das folgende Codebeispiel enthält Member mit einer Implementierungs-/Überschreibungsbeziehung.

interface IBase
{
    void Method();
}
public class Base
{
    public void Method()
    { }
    public virtual void Method(int i)
    { }
}
public class Derived : Base, IBase
{
    public new void Method()
    { }
    public override void Method(int i)
    { }
}
public class C : IBase
{
    public void Method()
    { }
}

Im vorherigen Beispiel wird durch das Umbenennen von C.Method() auch Ibase.Method() umbenannt, da Ibase.Method() von C.Method() implementiert wird. In einer rekursiven Suche erkennt das Umgestaltungsmodul daraufhin, dass Ibase.Method() von Derived.Method() implementiert wird und benennt Derived.Method() um. Base.Method() benennt das Umgestaltungsmodul hingegen nicht um, da Base.Method() von Derived.Method() nicht überschrieben wird. Sofern im Dialogfeld Umbenennen nicht die Option Überladungen umbenennen aktiviert ist, stoppt das Umgestaltungsmodul an dieser Stelle.

Wenn Überladungen umbenennen aktiviert ist, benennt das Umgestaltungsmodul Derived.Method(int i) um, weil es Derived.Method() überlädt, Base.Method(int i), weil es von Derived.Method(int i) überschrieben wird und Base.Method(), weil es eine Überladung von Base.Method(int i) ist.

Hinweis:

Wenn Sie einen Member umbenennen, der in einer referenzierten Assembly definiert wurde, werden Sie in einem Dialogfeld darauf hingewiesen, das die Umbenennung zu Buildfehlern führt.

Umbenennen von Eigenschaften anonymer Typen

Wenn Sie eine Eigenschaft anonymer Typen umbenennen, wird der Umbenennungsvorgang auch für Eigenschaften in anderen anonymen Typen, die über die gleichen Eigenschaften verfügen, durchgeführt. Dieses Verhalten wird im folgenden Beispiel veranschaulicht:

var a = new { ID = 1};
var b = new { ID = 2};

Im vorhergehenden Code führt das Umbenennen der ID zur Änderung der ID in beiden Anweisungen, da sie über den gleichen zugrunde liegenden anonymen Typ verfügen.

var companyIDs =
    from c in companylist
    select new { ID = c.ID, Name = c.Name};

var orderIDs =
    from o in orderlist
    select new { ID = o.ID, Item = o.Name};

Im vorhergehenden Code führt das Umbenennen von ID nur zum Umbenennen einer Instanz von ID, da companyIDs und orderIDs nicht über die gleichen Eigenschaften verfügen.

Siehe auch

Aufgaben

Gewusst wie: Umbenennen von Bezeichnern

Konzepte

Umgestaltung

Referenz

Anonyme Typen (C#-Programmierhandbuch)

Weitere Ressourcen

Quellcodeverwaltung für Visual Studio