Condividi tramite


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

Concetti di base del servizio

Altre risorse

servizi