rename (#import)
Détail C++
Fonctionne autour de les problèmes de conflit de nom.
rename("OldName","NewName")
Paramètres
OldName
Ancien nom dans la bibliothèque de types.NewName
nom à utiliser au lieu de l'ancien nom.
Notes
Si cet attribut est spécifié, le compilateur remplace toutes les occurrences d'OldName dans une bibliothèque de types par le NewName écrit par l'utilisateur dans des fichiers d'en-tête résultant.
Cet attribut peut être utilisé lorsqu'un nom dans la bibliothèque de types coïncide avec une définition de macro dans les fichiers d'en-tête du système.Si cette erreur n'est pas fixe, alors différentes erreurs de syntaxe seront générées, telles que Erreur du compilateur C2059 et Erreur du compilateur C2061.
[!REMARQUE]
Le remplacement concerne un nom utilisé dans la bibliothèque de types, et non pour un nom utilisé dans le fichier d'en-tête résultant.
Par exemple, supposons qu'une propriété nommée MyParent existe dans une bibliothèque de types, et macro GetMyParent est défini dans un fichier d'en-tête et utilisé avant #import.Étant donné qu' GetMyParent est le nom par défaut d'une fonction wrapper pour la propriété de get de gestion des erreurs, une collision de nom se produira.Pour contourner le problème, utilisez l'attribut suivant dans l'instruction d' #import :
rename("MyParent","MyParentX")
ce qui renomme le nom MyParent dans la bibliothèque de types.une tentative de renommer le nom de wrapper d' GetMyParent échouera :
rename("GetMyParent","GetMyParentX")
Cela est dû au fait que le nom GetMyParent se produit uniquement dans le fichier d'en-tête bibliothèque de types résultant.
détail de FIN C++