Comment : Consommer un service
Tout un VSPackage managé qui dérive d' Package et qui a été correctement trouve peut vous demander n'importe quel service global. Étant donné que la classe de package implémente IServiceProvider, tout VSPackage qui dérive du package est également un fournisseur de services.
Lorsque Visual Studio charge un VSPackage managé, il passe un fournisseur de services d' IServiceProvider à la méthode d' SetSite de package durant l'initialisation, situant le VSPackage. La classe du package encapsule ce fournisseur de services et fournit la méthode d' GetService pour obtenir des services.
Notes
Étant donné que le constructeur d'un VSPackage est appelé avant que le VSPackage se trouve, les services globaux sont généralement pas disponibles pour le constructeur d'un VSPackage.Consultez Comment : résolvez les services pour une solution de contournement.
Pour utiliser un service
Insérez ce code dans n'importe quelle méthode à l'exception de le constructeur d'un VSPackage :
Dim log As IVsActivityLog = TryCast(GetService(GetType(SVsActivityLog)), IVsActivityLog) If log Is Nothing Then Return End If
IVsActivityLog log = GetService(typeof(SVsActivityLog)) as IVsActivityLog; if (log == null) return;
Ce code obtient un service et les casts de SVsActivityLog il à une interface de IVsActivityLog , qui peut être utilisée pour écrire dans le journal d'activité. Pour obtenir un exemple, consultez Comment : Utilisez les journaux d'activité.
Voir aussi
Tâches
Comment : fournissez un service
Concepts
Exemples d'extensibilité Visual Studio