Sdílet prostřednictvím


Refaktoring (C#)

Refaktoring je proces vylepšení kód po jeho napsání, změnou vnitřní struktury kódu, aniž by došlo ke změně externího chování kódu.

Visual C# obsahuje následující příkazy refactoring Refactoring nabídce:

Multi-Project optimalizace struktury programu

Visual Studio podporuje multi-project optimalizace struktury programu pro projekty, které jsou ve stejné řešení.Všechny refactoring operace, které opravit odkazy mezi soubory opravit odkazy ve všech projektech ve stejném jazyce.Tento postup funguje pro všechny odkazy aplikace project do projektu.Například pokud máte aplikace konzoly, odkazující knihovny třídy při přejmenování typ knihovny třídy (pomocí Rename optimalizace struktury programu operace), jsou aktualizovány také odkazy na knihovny typu třídy aplikace konzoly.

Náhled změn

Mnoho operací refactoring poskytují příležitost k revizi všech odkaz změny, které by refactoring operaci provést v kódu, před provedením těchto změn.Pro tyto optimalizace struktury programu operací Náhled změn referenčních možnost se zobrazí v dialogovém okně refactoring.Po výběru této možnosti a přijetí refactoring operace Dialogovém okně Náhled změn se objeví.Všimněte si, že Náhled změn dialogové okno obsahuje dvě zobrazení.Zobrazení ve spodní části se zobrazí všechny aktualizace odkazu kvůli operaci refactoring kódu.Stisknutím Zrušit na Náhled změn dialogové okno přestane refactoring operace a nebudou provedeny žádné změny kódu.

Optimalizace struktury programu upozornění

Pokud kompilátor nemá úplné vysvětlení programu a je možné refactoring motoru může aktualizovat není vhodné odkazy, zobrazí se dialogové okno upozornění.Toto dialogové okno upozornění také poskytuje příležitost náhled kódu v Náhled změn dialogové okno před potvrdit změny.

[!POZNÁMKA]

Pokud metoda obsahuje chybu syntaxe (označující IDE s červenou vlnovkou), neaktualizuje refactoring motoru všechny odkazy na prvek v rámci této metody.Následující příklad ilustruje toto chování.

Ve výchozím nastavení Pokud spuštění refactoring operace bez náhledu odkaz změní a zjištění chyby kompilace v programu a potom vývojové prostředí zobrazí toto dialogové okno upozornění.

Pokud provedení refactoring operace, která má Náhled změn referenčních povolena a zjištění chyby kompilace v programu a potom vývojové prostředí v dolní části zobrazí následující upozornění Náhled změn dialogové okno namísto zobrazení Optimalizace struktury programu upozornění dialogové okno:

Projektu nebo jeden z jeho závislosti není sestavení aktuálně. Odkazy nemusí být aktualizován.

Toto upozornění refactoring je dostupná pouze pro optimalizace struktury programu operací, které poskytují Náhled změn referenčních možnost.

Optimalizace struktury programu chyba proti chybám a výsledky ověření

Optimalizace struktury programu je chyba odolné proti chybám.Jinými slovy lze provést optimalizace struktury programu v projektu, který nelze sestavit.Však v těchto případech refactoring proces může aktualizovat odkazy dvojznačný správně.

Výsledky ověření dialogovém okně můžete upozornění, pokud refactoring motoru zjistí chyby při kompilaci nebo zjistí, že refactoring operace nechtěně způsobuje kód odkaz vytvořit vazbu na něco jiného z it, jaký byl původně vázán na (obnovení vazeb problém).

Zapnutí výsledky ověření funkce, na Nástroje nabídky, klepněte na tlačítko Možnosti.V Možnosti dialogovém okně pole, rozbalte položku Textový Editora potom rozbalte položku C#.Klepněte na tlačítko Advanced a vyberte ověřit výsledky optimalizace struktury programu políčko.

Výsledky ověření dialogovém okně rozlišuje rozdíl mezi dvěma druhy obnovení vazeb problémy.

Odkazy, jejichž definice již nebude přejmenované symbol

Tento druh nového navázání problému dochází, pokud odkaz již odkazuje na přejmenovaný symbol.Zvažte například následující kód:

class Example
{
    private int a;
    public Example(int b)
    {
        a = b;
    }
}

Pokud pomocí optimalizace struktury programu přejmenovat a na b, zobrazí se toto dialogové okno.Odkaz na proměnnou přejmenované a nyní naváže na parametr předaný konstruktoru namísto vazby na pole.

Odkazy, jejichž definice se nyní stane přejmenované symbol

Tento druh nového navázání problému dochází v případě odkazu, který dříve neodkazuje na přejmenovaný symbol nyní odkazovat na přejmenovaný symbol.Zvažte například následující kód:

class Example
{
    private static void Method(object a) { }
    private static void OtherMethod(int a) { }
    static void Main(string[] args)
    {
        Method(5);
    }
}

Pokud pomocí optimalizace struktury programu přejmenovat OtherMethod na Method, zobrazí se toto dialogové okno.Odkaz v Main odkazuje Přetěžovaná metoda, která přijímá int namísto Přetěžovaná metoda, která přijímá parametr object parametr.

Viz také

Úkoly

Postupy: Obnovení fragmentů kódu refaktoringu jazyka C#

Další zdroje

Použití vývojového prostředí jazyka Visual C#