Udostępnij za pośrednictwem


Metoda CodeElement2.RenameSymbol —

Zmienia nazwę obiektu deklarowanej i aktualizuje wszystkie odwołania kodu do obiektów w zakresie bieżącego projektu.

Przestrzeń nazw:  EnvDTE80
Zestaw:  EnvDTE80 (w EnvDTE80.dll)

Składnia

'Deklaracja
Sub RenameSymbol ( _
    NewName As String _
)
void RenameSymbol(
    string NewName
)
void RenameSymbol(
    String^ NewName
)
abstract RenameSymbol : 
        NewName:string -> unit 
function RenameSymbol(
    NewName : String
)

Parametry

  • NewName
    Typ: System.String
    Wymagane.Nazwa symbolu, aby zmienić nazwę.

Uwagi

Jeśli nie można wykonać dowolną część zmiany nazwy (w ramach bieżącego zakresu projektu), metoda zwraca błąd.

[!UWAGA]

Nie można wywołać funkcji RenameSymbol lub ElementID latebound.(Na przykład, DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2").) Musi jawnie rzutować obiekt do CodeElement2 interfejsu przed wywołania.

Kod elementów w EnvDTE80 (zwany dalej kod * 2 obiektów) pochodzi od tych, w EnvDTE.(Na przykład, CodeClass2 pochodzi z CodeClass, i CodeElement2 pochodzi z CodeElement.) Wewnętrznie w Visual Studio, wszystkie elementy kodu (w obu zestawów) z kolei zostały oddane do CodeElement2.Tak, logicznie rzecz biorąc, jest tak, jakby CodeClass2, na przykład, ostatecznie pochodzi od CodeElement2.

Ponieważ dwa elementy są w rzeczywistości w dwóch oddzielnych dziedziczenie hierarchie, jednak latebinder nie może wyszukać CodeElement2 metody na kod * 2 obiektów.EnvDTEProgram Works zasadniczo taki sam sposób, ale użycie makra pre-processor umożliwia interfejsów, należy określić takie, że metody dziedziczone są zdefiniowane jawnie na wszystkich interfejsach powiązanych, dla których istnieją konwersji. EnvDTE80 interfejsy są definiowane przy użyciu programu podobne dziedziczenia, tylko bez użycia instrukcji pre-processor.Jest to bardziej eleganckie rozwiązanie, ponieważ eliminuje nadmiarowe właściwości, ale wynik jest, że właściwości nie można wywołać latebound.Aby obejść ten problem, wyraźnie rzutować obiekt do CodeElement2 interfejsu przed wywołania.

Również wartości elementów modelu kodu, takich jak klasy, strukturach, funkcje, atrybuty, delegatów i tak dalej można bez deterministyczny po dokonaniu niektórych rodzajów modyfikacji, co oznacza, że ich wartości nie może polegać na zawsze pozostawać takie same.Aby uzyskać więcej informacji, zobacz sekcję wartości elementu modelu kod można zmienić w Odkrywanie kod przy użyciu modelu kodu (Visual Basic).

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

CodeElement2 Interfejs

Przestrzeń nazw EnvDTE80

Inne zasoby

Jak: skompilować i uruchomić przykłady kodu modelu obiektu automatyzacji

Odkrywanie kod przy użyciu modelu kodu (Visual Basic)

Odkrywanie kod przy użyciu modelu kodu (Visual C#)

Wykonania oraz przy użyciu automatyzacji urządzenia Extender