Compartilhar via


Classe ServiceProvider

Fornece um objeto que pode oferecer serviços usando as interfaces gerenciados e não gerenciados de IServiceProvider .

Hierarquia de herança

System.Object
  Microsoft.VisualStudio.Data.Framework.ServiceProvider
    Microsoft.VisualStudio.Data.Framework.DataSiteableServiceProvider<T>

Namespace:  Microsoft.VisualStudio.Data.Framework
Assembly:  Microsoft.VisualStudio.Data.Framework (em Microsoft.VisualStudio.Data.Framework.dll)

Sintaxe

'Declaração
<ComVisibleAttribute(True)> _
Public Class ServiceProvider _
    Implements IServiceContainer, IServiceProvider, IServiceProvider
[ComVisibleAttribute(true)]
public class ServiceProvider : IServiceContainer, 
    IServiceProvider, IServiceProvider
[ComVisibleAttribute(true)]
public ref class ServiceProvider : IServiceContainer, 
    IServiceProvider, IServiceProvider
[<ComVisibleAttribute(true)>]
type ServiceProvider =  
    class
        interface IServiceContainer
        interface IServiceProvider
        interface IServiceProvider
    end
public class ServiceProvider implements IServiceContainer, IServiceProvider, IServiceProvider

O tipo ServiceProvider expõe os membros a seguir.

Construtores

  Nome Descrição
Método público ServiceProvider() Inicializa uma nova instância de IServiceProvidergerenciado ou não gerenciado.
Método público ServiceProvider(IServiceProvider) Envolve uma interface não gerenciado de IServiceProvider que seja acessível através da interface de IServiceProvider gerenciado.
Método público ServiceProvider(IServiceProvider) Inicializa uma nova instância de uma interface não gerenciado de IServiceProvider .

Superior

Propriedades

  Nome Descrição
Propriedade protegida ParentProvider Obtém a instância atual do provedor de serviços pai.

Superior

Métodos

  Nome Descrição
Método público AddService(Type, ServiceCreatorCallback) Adiciona o serviço especificado para a coleção interna de serviços.
Método público AddService(Type, Object) Adiciona o serviço especificado para a coleção interna de serviços.
Método público AddService(Type, ServiceCreatorCallback, Boolean) Adiciona o serviço especificado para a coleção interna de serviços ou para o contêiner pai do serviço.
Método público AddService(Type, Object, Boolean) Adiciona o serviço especificado para a coleção de objetos ou de serviço para o contêiner pai do serviço.
Método público Equals determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetService(Guid) Recupera um serviço com um serviço GUID especificado.
Método público GetService(Type) Recupera um serviço do tipo especificado.
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método público RemoveService(Type) Remove o serviço especificado da coleção interna de serviços
Método público RemoveService(Type, Boolean) Remove o serviço especificado da coleção interna de serviços ou recipiente pai do serviço.
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Implementações explícitas da interface

  Nome Descrição
Implementação explícita da interfaceMétodo particular IServiceProvider.QueryService Executa como uma fábrica para os serviços que são expostas com uma implementação de IServiceProvider.

Superior

Comentários

ObservaçãoObservação

Em o bloco de sintaxe anterior, a herança de classe deriva das interfaces gerenciados e não gerenciados de IServiceProvider .Isto é, o primeiro (não gerenciado) deriva de interface de IServiceProvider e da segunda (gerenciadas) deriva de IServiceProvider.

Esta classe serve dois propósitos.Primeiro, fornece uma classe gerenciada para criar uma implementação de interfaces não gerenciado ou gerenciados de IServiceProvider .Segundo, fornece uma classe gerenciada para quebrar e estender uma implementação existente das interfaces não gerenciadas ou gerenciados de IServiceProvider .

Para ambos os casos, a interface de IServiceProvider gerenciado é implementada também, para que os clientes gerenciados de objeto podem se comunicar com o objeto usando código gerenciar- amigável.

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Data.Framework