Compartilhar via


Método CodeElement2.RenameSymbol

Altera o nome declarado de um objeto e atualiza todas as referências de código ao objeto no escopo do projeto atual.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (em EnvDTE80.dll)

Sintaxe

'Declaração
Sub RenameSymbol ( _
    NewName As String _
)
void RenameSymbol(
    string NewName
)
void RenameSymbol(
    String^ NewName
)
abstract RenameSymbol : 
        NewName:string -> unit
function RenameSymbol(
    NewName : String
)

Parâmetros

  • NewName
    Tipo: String

    Necessário. O nome de símbolo a ser renomeado.

Comentários

Se qualquer parte renomear não pode ser concluída (dentro do escopo atual do projeto), o método retornará um erro.

Dica

Você não pode chamar RenameSymbol ou o latebound de ElementID . (Por exemplo, DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2").) É necessário converter explicitamente o objeto para a interface de CodeElement2 antes de fazer a chamada.

Os elementos de código em EnvDTE80 (chamado assim por diante objetos Code*2) derivam-se dessas propriedades em EnvDTE. (Por exemplo, se CodeClass2 deriva de CodeClass, e CodeElement2 é derivado de CodeElement.) Internamente em Visual Studio, todos os elementos de código (em ambos os assemblies) por sua vez são convertidos em CodeElement2.Assim, logicamente, é como se CodeClass2, por exemplo, se finalmente deriva de CodeElement2.

Como os dois elementos estão na realidade em duas hierarquias separadas de herança, entretanto, o latebinder não pode verificar métodos de CodeElement2 nos objetos Code*2.o trabalho deEnvDTE essencialmente da mesma maneira, mas o uso de macros do processador permitem que as interfaces está definido de modo que os métodos herdados são definidos explicitamente em todas as interfaces relacionadas para que as conversões existentes.as interfaces deEnvDTE80 são definidas usando um esquema semelhante de herança, somente sem o uso de instruções do processador.Essa é uma solução mais elegante desde que elimina propriedades redundantes, mas o resultado é que essas propriedades não podem ser chamadas latebound.Para resolver esse problema, convertido explicitamente o objeto para a interface de CodeElement2 antes de fazer a chamada.

Além disso, os valores de código de modelagem elementos como classes, estruturas, funções, atributos, representantes, e assim por diante podem ser não determinísticas depois de fazer determinados tipos as edições do, o que significa que seus valores não podem ser confiáveis em para permanecer sempre os mesmos.Para obter mais informações, veja que os valores do elemento do modelo de código da seção podem ser alteradas em Descobrindo código usando o modelo de código (Visual Basic).

Segurança do .NET Framework

Consulte também

Referência

CodeElement2 Interface

Namespace EnvDTE80

Outros recursos

Como compilar e executar os exemplos de código do modelo de objeto Automation

Descobrindo código usando o modelo de código (Visual Basic)

Descobrindo código usando o modelo de código (Visual C#)

Implementando e usando extensores de automação