CodeElement2.RenameSymbol-Methode
Ändert den deklarierten Namen eines Objekts und aktualisiert alle Codeverweise auf das Objekt im Gültigkeitsbereich des aktuellen Projekts.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
Sub RenameSymbol ( _
NewName As String _
)
void RenameSymbol(
string NewName
)
void RenameSymbol(
String^ NewName
)
abstract RenameSymbol :
NewName:string -> unit
function RenameSymbol(
NewName : String
)
Parameter
- NewName
Typ: System.String
Erforderlich.Der Name des Symbols, das umbenannt werden soll.
Hinweise
Wenn ein beliebiger Teil nicht umbenannt werden kann (im Gültigkeitsbereich des aktuellen Projekts), gibt die Methode einen Fehler zurück.
Hinweis |
---|
Sie können RenameSymbol oder ElementID nicht spät gebunden aufrufen.(Beispiel: DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2")) Sie müssen das Objekt vor dem Aufrufen explizit in die CodeElement2-Schnittstelle umwandeln. Codeelemente in EnvDTE80 (im Folgenden als Code*2-Objekte bezeichnet) werden von Codeelementen in EnvDTE abgeleitet.(Beispielsweise wird CodeClass2 von CodeClass und CodeElement2 von CodeElement abgeleitet.) In Visual Studio werden alle Codeelemente (in beiden Assemblys) intern in CodeElement2 umgewandelt.Folgerichtig scheint CodeClass2 beispielsweise letztendlich von CodeElement2 abgeleitet zu werden. Da die zwei Elemente in Wirklichkeit in zwei separaten Vererbungshierarchien enthalten sind, kann der latebinder keine CodeElement2-Methoden für Code*2-Objekte suchen.EnvDTE funktioniert grundsätzlich auf dieselbe Weise, aber die Verwendung von Präprozessormakros lässt die Schnittstellen zu, die so definiert werden sollen, dass diese geerbten Methoden explizit auf alle verwandten Schnittstellen definiert werden, für die Konvertierungen vorhanden sind. EnvDTE80-Schnittstellen werden mithilfe eines ähnlichen Vererbungsschema definiert, nur ohne die Verwendung von Präprozessoranweisungen.Dabei handelt es sich um eine elegantere Lösung, da die redundanten Eigenschaften entfernt werden. Die Eigenschaften können jedoch nicht spät gebunden aufgerufen werden.Wandeln Sie das Objekt vor dem Aufrufen explizit in die CodeElement2-Schnittstelle um, um dieses Problem zu umgehen. Außerdem können die Werte von Codemodellelementen wie Klassen, Strukturen, Funktionen, Attributen, Delegaten usw. nach bestimmten Bearbeitungsvorgängen nicht deterministisch sein, d. h., dass nicht mehr davon ausgegangen werden kann, dass ihre Werte immer unverändert bleiben.Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic). |
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell
Ermitteln von Code über das Codemodell (Visual Basic)