rename (#import)
Específico do C++
Soluciona os problemas de colisão de nome.
rename("OldName","NewName")
Parâmetros
OldName
Nome antigo na biblioteca de tipos.NewName
Nome a ser usado em vez do nome antigo.
Comentários
Se esse atributo for especificado, o compilador substituirá todas as ocorrências de OldName em uma biblioteca de tipos pelo NewName fornecido pelo usuário nos arquivos de cabeçalho resultantes.
Esse atributo pode ser usado quando um nome na biblioteca de tipos coincide com uma definição de macro nos arquivos de cabeçalho do sistema. Se essa situação não for resolvida, vários erros de sintaxe serão gerados, como Erro do Compilador C2059 e Erro do Compilador C2061.
Dica
A substituição é para um nome usado na biblioteca de tipos, e não para um nome usado no arquivo de cabeçalho resultante.
Por exemplo, suponha que exista uma propriedade chamada MyParent em uma biblioteca de tipos, e uma macro GetMyParent seja definida em um arquivo de cabeçalho e usada antes de #import. Como GetMyParent é o nome padrão de uma função de wrapper para a propriedade de tratamento de erros get, ocorrerá uma colisão de nomes. Para contornar o problema, use o seguinte atributo na instrução #import:
rename("MyParent","MyParentX")
que altera o nome MyParent na biblioteca de tipos. Uma tentativa de alterar o nome do wrapper GetMyParent falhará:
rename("GetMyParent","GetMyParentX")
Isso acontece porque o nome GetMyParent ocorre apenas no arquivo de cabeçalho resultante da biblioteca de tipos.
FIM de Específico do C++