Condividi tramite


Classe ServiceProvider

Fornisce un oggetto in grado di offrire servizi utilizzando sia le interfacce gestite e non gestite IServiceProvider.

Gerarchia di ereditarietà

Object
  Microsoft.VisualStudio.Data.ServiceProvider
    Microsoft.VisualStudio.Data.DataConnection
    Microsoft.VisualStudio.Data.ServiceProviderWithSite

Spazio dei nomi:  Microsoft.VisualStudio.Data
Assembly:  Microsoft.VisualStudio.Data (in Microsoft.VisualStudio.Data.dll)

Sintassi

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

Il tipo ServiceProvider espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto ServiceProvider() Costruttore di classe per un provider di servizi gestito (IServiceProvider) accessibile tramite l'interfaccia non gestita IServiceProvider.
Metodo pubblico ServiceProvider(IServiceProvider) Costruttore di classe per il wrapping di interfaccia non gestita IServiceProvider accessibile tramite l'interfaccia gestita IServiceProvider.

In alto

Proprietà

  Nome Descrizione
Proprietà protetta. ServiceTypes Recupera un elenco di tipi di servizi utilizzati per convertire la chiamata al metodo non gestita QueryService, in cui un servizio GUID è specificato, in una chiamata al metodo gestito IServiceProvider.GetService, in cui viene specificato un tipo gestito.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode Funge da funzione hash predefinita. (Ereditato da Object)
Metodo pubblico GetService(Guid) Recupera un servizio tramite un servizio specificato GUID.
Metodo pubblico GetService(Type) Recupera un servizio del tipo specificato.
Metodo protetto GetServiceImpl(Guid) Fornisce l'implementazione per recuperare un servizio con un GUID specifico.
Metodo protetto GetServiceImpl(Type) Fornisce l'implementazione per recuperare un servizio di un tipo specifico.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato IServiceProvider.QueryService Esegue la factory per i servizi esposti tramite un'implementazione di IServiceProvider.

In alto

Note

Nota

Nel blocco di sintassi precedente, l'ereditarietà di classe deriva sia dalle interfacce gestite e non gestite IServiceProvider.Ovvero il primo (non gestito) è un'interfaccia IServiceProvider e la seconda (gestita) è IServiceProvider.

Questa classe include due scopi. Innanzitutto, fornisce un wrapper gestito intorno all'interfaccia non gestita IServiceProvider. In secondo luogo, fornisce una classe base gestita per implementare l'interfaccia non gestita IServiceProvider.

Per entrambi i casi, l'interfaccia gestita IServiceProvider viene inoltre implementata, pertanto i client gestiti dell'oggetto possono comunicare con l'oggetto utilizzando il codice misto descrittivo.

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Data