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 de renomear 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 latebound. (Por exemplo, DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2").) Você deve explicitamente converter o objeto para o 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 de código * 2 objetos. EnvDTEfunciona praticamente da mesma maneira, mas o uso de macros pre-processor permite que as interfaces de ser definidos, como 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. Esta é uma solução mais elegante, pois elimina a 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 de CodeElement2 interface antes de fazer a chamada.

Além disso, os valores dos 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 alteradas nas 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 a automação de exemplos de Código do modelo de objeto

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

Descobrindo o Código usando o modelo de Código (Visual TRANSLATION FROM VPE FOR CSHARP)

A implementação e uso de extensores de automação