Partilhar via


Como: consumir um serviço

Qualquer gerenciado VSPackage que deriva de Package e que situados corretamente pode pedir para qualquer serviço global. Porque a classe do pacote implementa IServiceProvider, qualquer VSPackage que deriva do pacote é também um provedor de serviços.

Quando Visual Studio carrega um VSPackage gerenciado, ele passa uma IServiceProvider provedor de serviços para o pacote SetSite método durante a inicialização, localizando o VSPackage. A classe Package envolve este provedor de serviço e fornece a GetService método para a obtenção de serviços.

Dica

Porque o construtor VSPackage é chamado antes que o VSPackage é localizado, o global services são geralmente disponíveis de dentro do construtor VSPackage.Consulte Como: solucionar problemas de serviços para uma solução alternativa.

Consumir um serviço

  • Inserir esse código em qualquer método, exceto o construtor 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;
    

    Esse código obtém um serviço de SVsActivityLog e projeta-o para um IVsActivityLog interface, que pode ser usado para gravar no log de atividade. Para um exemplo, consulte Como: usar o Log de atividade.

Consulte também

Tarefas

Como: fornecer um serviço.

Conceitos

Exemplos de extensibilidade de Visual Studio

Conceitos básicos de serviço

Outros recursos

Serviços