Condividi tramite


Metodo CodeElement2.RenameSymbol

Modifica il nome dichiarato di un oggetto e aggiorna tutti i riferimenti al codice all'oggetto nel progetto corrente.

Spazio dei nomi:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Sintassi

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

Parametri

  • NewName
    Tipo: System.String
    obbligatorio.Il nome del simbolo da rinominare.

Note

Se una parte di rinominare non può essere completata (nell'ambito del progetto corrente), il metodo restituisce un errore.

[!NOTA]

Non è possibile chiamare RenameSymbol o ElementID latebound.Ad esempio, DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2")). È necessario eseguire esplicitamente il cast dell'oggetto a CodeElement2 interfaccia prima di effettuare la chiamata.

Elementi di codice in EnvDTE80 (in futuro chiamato oggetti Code*2) derivare da quelli in EnvDTE.Ad esempio, CodeClass2 deriva da CodeClasse CodeElement2 deriva da CodeElement). Internamente in Visual Studio, tutti gli elementi di codice (in entrambi gli assembly) a sua volta che viene eseguito il cast su CodeElement2.Pertanto, logicamente, è come se CodeClass2, ad esempio, infine deriva da CodeElement2.

Poiché i due elementi vengono in realtà in due gerarchie di ereditarietà separate, tuttavia, il latebinder non sia possibile trovare CodeElement2 metodi su oggetti Code*2.EnvDTE è essenzialmente la stessa modalità, ma l'utilizzo delle macro del preprocessore consente delle interfacce sono definiti in modo che i metodi ereditati vengano definiti in modo esplicito su tutte le conversioni relative interfacce per cui esistano. EnvDTE80 le interfacce vengono definite utilizzando simile combinazione di ereditarietà, solo senza l'utilizzo di istruzioni del preprocessore.Si tratta di una soluzione più elegante poiché elimina le proprietà ridondanti, ma il risultato è che le proprietà non possono essere chiamate latebound.Per risolvere questo problema, eseguire esplicitamente il cast dell'oggetto a CodeElement2 collegare prima di effettuare la chiamata.

Inoltre, i valori degli elementi del modello di codice come classi, strutture, le funzioni, gli attributi, delegati, e così via possono non essere deterministici dopo l'inserimento di determinati tipi di modifiche, pertanto i relativi valori non possono essere basati su per rimanere sempre gli stessi.Per ulteriori informazioni, vedere i valori degli elementi del modello di codice della sezione può cambiare in Individuazione di codice mediante il modello di codice (Visual Basic).

Sicurezza di .NET Framework

Vedere anche

Riferimenti

CodeElement2 Interfaccia

Spazio dei nomi EnvDTE80

Altre risorse

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione

Individuazione di codice mediante il modello di codice (Visual Basic)

Individuazione di codice mediante il modello di codice (Visual C#)

Implementazione e utilizzo delle estensioni di automazione