Procedura: utilizzare un servizio
Qualsiasi VSPackage gestito che deriva da Package e che correttamente è stato collocato possibile chiedersi qualsiasi servizio globale. Poiché la classe del pacchetto implementa IServiceProvider, il package VS che deriva dal pacchetto è anche un provider di servizi.
Quando Visual Studio carica un VSPackage gestito, passa un provider di servizi di IServiceProvider al metodo di SetSite del package durante l'inizializzazione, collocante il package VS. La classe del pacchetto esegue il wrapping di questo provider di servizi e fornisce il metodo di GetService per ottenere i servizi.
Nota
Poiché il costruttore di un VSPackage viene chiamato prima che il package VS sia situato, i servizi globali sono in genere non disponibili dal costruttore di un VSPackage.vedere Procedura: Risoluzione dei servizi per una soluzione alternativa.
Per utilizzare un servizio
Inserire il codice nel metodo ad eccezione del costruttore di 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;
Questo codice ottiene un servizio di SVsActivityLog e ne viene eseguito il cast in un'interfaccia di IVsActivityLog , che può essere utilizzata per scrivere nel log attività. Per un esempio, vedere Procedura: utilizzare il registro attività.
Vedere anche
Attività
Procedura: Fornire un servizio
Concetti
Esempi di estensibilità di Visual Studio