CodeElement2.RenameSymbol, méthode
Modifie le nom déclaré d'un objet et met à jour toutes les références de code à l'objet dans la portée du projet actuel.
Espace de noms : EnvDTE80
Assembly : EnvDTE80 (dans EnvDTE80.dll)
Syntaxe
'Déclaration
Sub RenameSymbol ( _
NewName As String _
)
void RenameSymbol(
string NewName
)
void RenameSymbol(
String^ NewName
)
abstract RenameSymbol :
NewName:string -> unit
function RenameSymbol(
NewName : String
)
Paramètres
- NewName
Type : System.String
Obligatoire.Nom du symbole à renommer.
Notes
Si une partie de l'opération ne peut pas être effectuée (dans la portée du projet actuel), la méthode retourne une erreur.
Notes
Vous ne pouvez pas appeler RenameSymbol ou ElementID à liaison tardive. (Par exemple, DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2").) Vous devez effectuer un cast explicite de l'objet en l'interface CodeElement2 avant d'effectuer l'appel.
Les éléments de code dans EnvDTE80 (ci-après dénommés objets Code*2) dérivent de ceux de EnvDTE. (Par exemple, CodeClass2 dérive de CodeClass, et CodeElement2 dérive de CodeElement.) En interne dans Visual Studio, tous les éléments de code (dans les deux assemblys) sont castés les uns aux autres en CodeElement2. Ainsi, logiquement, c'est au bout du compte comme si CodeClass2, par exemple, dérivait de CodeElement2.
Étant donné que les deux éléments figurent en réalité dans deux hiérarchies d'héritage séparées, toutefois, le latebinder ne peut pas rechercher de méthodes CodeElement2 sur les objets Code*2. EnvDTE fonctionne essentiellement de la même façon, mais l'utilisation de macros de pré-processeur autorise les interfaces à être définies de façon à ce que les méthodes héritées soient définies explicitement sur toutes les interfaces connexes pour lesquelles les conversions existent. Les interfaces EnvDTE80 sont définies à l'aide d'un modèle d'héritage similaire, mais sans utilisation d'instructions de pré-processeur. Cette solution est plus élégante puisqu'elle élimine les propriétés redondantes, mais le résultat est que les propriétés ne peuvent pas être appelées à liaison tardive. Pour contourner ce problème, effectuez un cast explicite de l'objet en interface CodeElement2 avant d'effectuer l'appel.
En outre, les valeurs d'éléments de modèle de code, tels que des classes, des structures, des fonctions, des attributs, des délégués, etc., peuvent être non déterminables après certains types de modifications, ce qui signifie qu'il n'est pas certain que leurs valeurs resteront inchangées. Pour plus d'informations, consultez la section Les valeurs d'élément de modèle de code peuvent être modifiées de la rubrique Découverte de code à l'aide du modèle de code (Visual Basic).
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Autres ressources
Comment : compiler et exécuter les exemples de code du modèle objet Automation
Découverte de code à l'aide du modèle de code (Visual Basic)