Partager via


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

service Essentials

Autres ressources

services