Freigeben über


ServiceProvider-Klasse

Stellt ein Objekt bereit, das Dienste mit der verwalteten und nicht verwalteten Schnittstellen IServiceProvider vorbringen kann.

Vererbungshierarchie

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

Namespace:  Microsoft.VisualStudio.Data
Assembly:  Microsoft.VisualStudio.Data (in Microsoft.VisualStudio.Data.dll)

Syntax

'Declaration
<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

Der ServiceProvider-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Geschützte Methode ServiceProvider() Klassenkonstruktor für einen verwalteten Dienstanbieter (IServiceProvider) der von der nicht verwalteten IServiceProvider-Schnittstelle zugegriffen werden kann.
Öffentliche Methode ServiceProvider(IServiceProvider) Klassenkonstruktor zum Einbinden einer nicht verwalteten IServiceProvider-Schnittstelle, der die verwaltete IServiceProvider-Schnittstelle zugegriffen werden kann.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Geschützte Eigenschaft ServiceTypes Ruft eine Liste der Diensttypen ab, die verwendet werden, um den nicht verwalteten QueryService-Methodenaufruf zu konvertieren, in dem ein Dienst GUID, in einen verwalteten IServiceProvider.GetService-Methodenaufruf angegeben wird, in dem ein verwalteter Typ angegeben wird.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche Methode GetService(Guid) Ruft einen Dienst mit einem angegebenen Dienst GUID ab.
Öffentliche Methode GetService(Type) Ruft einen Dienst des angegebenen Typs ab.
Geschützte Methode GetServiceImpl(Guid) Stellt die Implementierung für das Abrufen eines Diensts mit einem bestimmten GUID.
Geschützte Methode GetServiceImpl(Type) Stellt die Implementierung für das Abrufen eines Diensts eines bestimmten Typs bereit.
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie vom aktuellen Object. (Von Object geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Explizite Schnittstellenimplementierungen

  Name Beschreibung
Explizite SchnittstellenimplementierungPrivate Methode IServiceProvider.QueryService Führt als Factory für Dienste ausgeführt, die durch eine Implementierung von IServiceProvider verfügbar gemacht werden.

Zum Seitenanfang

Hinweise

Hinweis

Im Syntaxblock oben, berechnet die Klassenvererbung von verwalteten und nicht verwalteten IServiceProvider-Schnittstellen.Das heißt, ist das erste (nicht verwaltete) IServiceProvider-Schnittstelle und die zweite (verwaltet) ist IServiceProvider.

Diese Klasse dient zwei Zwecken. Erstens stellt sie einen verwalteten Wrapper um die nicht verwaltete IServiceProvider-Schnittstelle bereit. Zweitens stellt sie eine verwaltete Basisklasse zum Implementieren der nicht verwalteten IServiceProvider-Schnittstelle bereit.

In beiden Fällen wird die verwaltete Schnittstelle IServiceProvider auch implementiert, sodass verwaltete Clients des Objekts mit dem Objekt mithilfe des verwaltete-benutzerfreundlichen Code kommunizieren.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.Data-Namespace