Partilhar 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

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 Determines whether the specified object is equal to the current object. (Herdado de Object.)
Método protegido Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Herdado de Object.)
Método público GetHashCode Serves as the default hash function. (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 Gets the Type of the current instance. (Herdado de Object.)
Método protegido MemberwiseClone Creates a shallow copy of the current Object. (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 Returns a string that represents the current object. (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

Dica

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