Condividi tramite


Metodo CodeElement2.RenameSymbol

Modifica il nome dichiarato di un oggetto e aggiorna tutti i riferimenti del codice all'oggetto nell'ambito del 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
    Obbligatoria.Nome del simbolo da rinominare.

Note

Se non è possibile completare parti della ridenominazione, nell'ambito del progetto corrente, il metodo restituisce un errore.

Nota

Non è possibile chiamare RenameSymbol o l'associazione tardiva ElementID, ad esempio DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2"). È necessario eseguire in modo esplicito il cast dell'oggetto sull'interfaccia CodeElement2 prima di effettuare la chiamata.

Gli elementi di codice in EnvDTE80 (in seguito denominati oggetti Code*2) derivano da quelli presenti in EnvDTE, ad esempio CodeClass2 deriva da CodeClass e CodeElement2 deriva da CodeElement. All'interno di Visual Studio, viene eseguito il cast di tutti gli elementi di codice (in entrambi gli assembly) su CodeElement2. Quindi, è come se ad esempio CodeClass2 derivasse in definitiva da CodeElement2.

Poiché i due elementi si trovano in realtà in due gerarchie di ereditarietà separate, tuttavia, il gestore di associazione non può ricercare i metodi CodeElement2 sugli oggetti Code*2. EnvDTE funziona essenzialmente nello stesso modo, ma l'utilizzo di macro del preprocessore consente alle interfacce di essere definite in modo che i metodi ereditati vengano definiti in modo esplicito su tutte le interfacce correlate per cui esistono le conversioni. Le interfacce EnvDTE80 vengono definite mediante uno schema di ereditarietà simile, solo senza l'utilizzo di istruzioni del preprocessore. Si tratta di una soluzione più elegante perché le proprietà ridondanti vengono eliminate, ma in questo modo non possono essere chiamate con associazione tardiva. Per ovviare a questo problema, è necessario eseguire in modo esplicito il cast dell'oggetto sull'interfaccia CodeElement2 prima di effettuare la chiamata.

Inoltre, i valori degli elementi del modello di codice, quali classi, strutture, funzioni, attributi, delegati e così via, possono essere non deterministici dopo alcuni tipi di modifiche. Di conseguenza, non si può fare affidamento sulla stabilità di tali valori. Per ulteriori informazioni, vedere la sezione Possibile modifica dei valori degli elementi del modello di codice 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