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
Conceitos
Exemplos de extensibilidade de Visual Studio