Compartilhar via


Método CodeElement2.RenameSymbol

Altera o nome declarado de um objeto e atualiza todas as referências de código para o objeto dentro do 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: System.String
    Obrigatório.O nome do símbolo para renomear.

Comentários

Se qualquer parte a renomeação não pode ser concluída (dentro do escopo do projeto atual), o método retorna um erro.

ObservaçãoObservação

Você não pode chamar RenameSymbol ou ElementID com ligação tardia.(Por exemplo, DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2").) Você deve converter explicitamente o objeto do CodeElement2 interface antes de fazer a chamada.

Elementos de código EnvDTE80 (doravante denominada código * 2 objetos) derivar na EnvDTE.(Por exemplo, CodeClass2 deriva de CodeClass, e CodeElement2 deriva de CodeElement.) Internamente em Visual Studio, por sua vez, todos os elementos de código (em ambos os conjuntos de módulos) são convertidos em CodeElement2.Então, logicamente, isso é como se CodeClass2, por exemplo, em última análise deriva de CodeElement2.

Como os dois elementos são na realidade em duas hierarquias de herança separados, no entanto, o latebinder não é possível consultar CodeElement2 métodos no código * 2 objetos.EnvDTEfunciona praticamente da mesma maneira, mas o uso de macros pre-processor permite que as interfaces sejam definidas de modo que herdadas métodos é definidas explicitamente em todas as interfaces relacionadas para o qual conversões existem. EnvDTE80 interfaces são definidas usando um esquema de herança semelhante, somente sem o uso de instruções de pre-processor.Isso é uma solução mais elegante, já que elimina propriedades redundantes, mas o resultado é que as propriedades não podem ser chamadas com ligação tardia.Para contornar esse problema, explicitamente converter o objeto do CodeElement2 interface antes de fazer a chamada.

Além disso, os valores de elementos de modelo de código, como classes, estruturas, funções, atributos, delegados e assim por diante podem ser não-determinísticos depois de fazer determinados tipos de edições, o que significa que seus valores não confie sempre permanecer o mesmo.Para obter mais informações, consulte a seção valores de elemento de modelo de código podem ser alterada de Descobrindo o 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 de modelo de objeto de automação

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

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

Implementação e usando os extensores de automação