Udostępnij za pośrednictwem


Zmień nazwę przeróbek (C#)

Zmień nazwę jest funkcją programu Visual Studio zintegrowane środowisko programistyczne (IDE), który zapewnia łatwy sposób zmienić identyfikatory dla kodu symbole, takie jak pola Zmienne lokalne, metod, obszary nazw, właściwości i typy przeróbek.Zmień nazwę mogą być używane do zmiany nazwy w komentarzach i w ciągach znaków i zmienić deklaracje i wywołania identyfikator.

[!UWAGA]

Gdy dla programu Visual Studio za pomocą kontroli Yródła, należy pobrać najnowszą wersję źródeł przed próbą wykonania rename przeróbek.

Zmień nazwę przeróbek jest dostępne następujące funkcje programu Visual Studio:

Funkcja

Zachowanie przeróbek w IDE

Edytor kodu

W edytorze kodu przeróbek rename jest dostępne, gdy Ustaw kursor na niektórych rodzajów symboli kodu.Gdy kursor znajduje się w tym miejscu można wywołać zmienić polecenia, wpisując skrót klawiaturowy (CTRL + R, CTRL + R) lub wybierając zmienić z tagu inteligentnego, menu skrótów polecenie lub byłaby menu.

Widok klasy

Po wybraniu identyfikator w widoku klasy przeróbek rename jest dostępne w menu skrótów i byłaby menu.

Przeglądarka obiektów

Po wybraniu identyfikatora w przeglądarce obiektów przeróbek rename jest dostępna tylko z byłaby menu.

Właściwość siatka projektanta Windows Forms

W Właściwości siatki Windows Forms projektanta, zmiana nazwy formantu rozpocznie operacji zmiany nazwy dla tego formantu.Zmienić nie zostanie wyświetlone okno dialogowe.

Solution Explorer

W Solution Explorer, zmienić polecenie jest dostępne w menu skrótów.Jeśli plik źródłowy wybranego zawiera klasy, którego nazwa klasy jest taka sama jak nazwa pliku, można użyć tego polecenia, jednocześnie zmienić nazwę pliku źródłowego i wykonania, Zmień nazwę przeróbek.

Na przykład jeśli Tworzenie domyślnej aplikacji opartych na systemie Windows, a następnie zmień nazwę pliku Form1.cs na TestForm.cs, nazwa pliku źródłowego pliku Form1.cs zmieni się na TestForm.cs i klasy Form1 i wszystkie odniesienia do że klasa zostanie zmieniona na TestForm.

UwagaUwaga
Cofnij (CTRL + Z) polecenie tylko cofnąć zmiany nazwy przeróbek w kodzie i będzie zmieniać nazwy pliku z powrotem do oryginalnej nazwy.

Jeśli plik źródłowy wybranego nie zawiera klasy, którego nazwa jest taka sama jak nazwa pliku zmienić w Solution Explorer tylko zmienić nazwę pliku źródłowego i nie będzie wykonywał rename przeróbek.

Zmień nazwę operacji

Podczas wykonywania zmienić, silnik przeróbek wykonuje określonych operacji zmiany nazwy dla każdego symbolu kod opisane w poniższej tabeli.

Symbol kodu

Zmień nazwę operacji

Pole

Zmienia nazwę nowego zgłoszenia i zwyczajami pola.

Zmienna lokalna

Zmienia nazwę nowego zgłoszenia i zwyczajami zmiennej.

Metoda

Zmienia nazwę metody i wszystkie odwołania do tej metody do nowej nazwy.

UwagaUwaga
Podczas zmiany nazwy metody rozszerzenie operacji zmiany nazwy Propaguj do wszystkich wystąpień metody, które są w zakresie, niezależnie od tego, czy metoda rozszerzenie jest używany jako statyczna metoda lub metody instancji.Aby uzyskać więcej informacji, zobacz Rozszerzenie metody (Podręcznik programowania C#).

Obszar nazw

Zmienia nazwę obszaru nazw do nowej nazwy w deklaracji, wszystkie using instrukcji i w pełni kwalifikowane nazwy.

UwagaUwaga
Podczas zmiany nazwy obszaru nazw Visual Studio aktualizuje również Domyślny obszar nazw właściwość aplikacji strony Project Designer.Ta właściwość nie można zresetować wybierając Cofnij z Edytuj menu.Aby zresetować Domyślny obszar nazw wartości właściwości, należy zmodyfikować właściwości w Project Designer.Aby uzyskać więcej informacji, zobacz Aplikacji stronę.

Właściwość

Zmienia nazwę nowego zgłoszenia i zwyczajami właściwości.

Typ

Zmienia nazwę tym konstruktory i destruktory wszystkie deklaracje i zwyczajami wszystkie tego typu.Dla typów częściowych operacji zmiany nazwy będą propagowane do wszystkich części.

Aby zmienić identyfikator

  1. Tworzy aplikację konsoli o nazwie RenameIdentifier, a następnie zastąpić Program z poniższy przykład kodu.

    class ProtoClassA
    {
        // Invoke on 'MethodB'.
        public void MethodB(int i, bool b) { }
    }
    
    class ProtoClassC
    {
        void D()
        {
            ProtoClassA MyClassA = new ProtoClassA();
    
            // Invoke on 'MethodB'.
            MyClassA.MethodB(0, false);
        }
    }
    
  2. Umieść kursor na MethodB, albo w deklaracji metody lub wywołanie metody.

  3. Z byłaby menu wybierz zmienić.Zmienić pojawi się okno dialogowe.

    Można także przyciskiem kursora, wskaż byłaby na menu kontekstowe, a następnie kliknij zmienić do wyświetlania zmienić okno dialogowe.

  4. W Nową nazwę wpisz polecenie MethodC.

  5. Wybierz wyszukiwania w uwagach pole wyboru.

  6. Click OK.

  7. W Podgląd zmian okno dialogowe, kliknij przycisk Zastosuj.

Aby zmienić identyfikator tagów inteligentnych

  1. Tworzy aplikację konsoli o nazwie RenameIdentifier, a następnie zastąpić Program z poniższy przykład kodu.

    class ProtoClassA
    {
        // Invoke on 'MethodB'.
        public void MethodB(int i, bool b) { }
    }
    
    class ProtoClassC
    {
        void D()
        {
            ProtoClassA MyClassA = new ProtoClassA();
    
            // Invoke on 'MethodB'.
            MyClassA.MethodB(0, false);
        }
    }
    
  2. W deklaracji dla MethodB, wpisz lub backspace nad identyfikator metody.Tag inteligentny zostanie wyświetlony poniżej tego identyfikatora.

    [!UWAGA]

    Można wywoływać tylko rename przeróbek przy użyciu tagów inteligentnych w deklaracji identyfikator.

  3. Wpisz skrót klawiaturowy SHIFT + ALT + F10, a następnie naciśnij klawisz Strzałka w dół, aby wyświetlić menu tagu inteligentnego.

    - lub -

    Przesuń wskaźnik myszy nad wierszu tagów inteligentnych do wyświetlania tagów inteligentnych.Następnie przesuń wskaźnik myszy nad tag inteligentny i kliknij strzałkę w dół, aby wyświetlić menu tagu inteligentnego.

  4. Wybierz zmienić nazwę "<identifer1>"do"<identifier2>' elementu menu, aby wywołać rename przeróbek bez podgląd zmian w kodzie.Wszystkie odniesienia do <identifer1> zostaną automatycznie zaktualizowane do <identifier2>.

    - lub -

    Wybierz zmienić Podgląd elementu menu, aby wywołać rename przeróbek podgląd zmian w kodzie.Podgląd zmian pojawi się okno dialogowe.

Uwagi

Zmiana nazwy zaimplementowana lub zastąpiona członków

Kiedy można zmienić członka, który implementuje/przesłonięcia lub jest zaimplementowana/zastąpione przez członków w innych typach Visual Studio Wyświetla okno dialogowe mówi operacji zmiany nazwy spowoduje aktualizacji kaskadowych.Jeśli klikniesz Kontynuuj, przeróbek rekursywnie aparat wyszukuje i zmienia nazwę wszystkich członków w bazie i typów pochodnych, które mają implementuje/przesłonięcia relacje z członkiem zmianą nazwy.

Poniższy kod zawiera członków o relacje implementuje/przesłonięcia.

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()
    { }
}

W poprzednim przykładzie zmiana nazwy C.Method() także zmienia nazwę Ibase.Method() ponieważ C.Method() implementuje Ibase.Method().Następnie rekursywnie silnika refactor widzi Ibase.Method() jest implementowana przez Derived.Method() i zmienia nazwę Derived.Method().Silnik refactor nie zmienia nazwy Base.Method(), ponieważ Derived.Method() nie zastępują Base.Method().Przeróbek silnik zatrzymuje tutaj chyba że zmienić overloads zaewidencjonowany zmienić okno dialogowe.

Jeśli zmienić overloads jest zaznaczone, zmienia nazwę silnika refactor Derived.Method(int i) , ponieważ jej overloads Derived.Method(), Base.Method(int i) , ponieważ jest ona zastępowana przez Derived.Method(int i), i Base.Method() ponieważ przeciążenia z Base.Method(int i).

[!UWAGA]

Po zmianie nazwy członka, który został zdefiniowany w zestawie odwołanie, okno dialogowe wyjaśnia, że zmiana nazwy spowoduje błędów kompilacji.

Zmiana nazwy właściwości typy anonimowe

Podczas zmiany nazwy właściwości w typy anonimowe operacji zmiany nazwy zostaną przeniesione do właściwości w innych typach anonimowych, które mają takie same właściwości.Poniższe przykłady ilustrują to zachowanie.

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

W poprzednim kodzie zmiana nazwy ID zmieni ID w obu sprawozdań, ponieważ mają one ten sam typ anonimowy podstawowej.

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};

W poprzednim kodzie zmiana nazwy ID będzie zmienić tylko jedno wystąpienie ID ponieważ companyIDs i orderIDs nie mają takie same właściwości.

Zobacz też

Informacje

Typy anonimowe (Podręcznik programowania C#)

Koncepcje

Przeróbek (C#)