Udostępnij za pośrednictwem


Metoda ServiceProvider.GetService — (Type)

Pobiera typ usługi z usługodawca niezarządzanego.

Przestrzeń nazw:  Microsoft.VisualStudio.Shell
Zestaw:  Microsoft.VisualStudio.Shell.11.0 (w Microsoft.VisualStudio.Shell.11.0.dll)

Składnia

'Deklaracja
Public Function GetService ( _
    serviceType As Type _
) As Object
public Object GetService(
    Type serviceType
)

Parametry

  • serviceType
    Typ: System.Type
    Typ usługi do pobrania.Identyfikator GUID tego typu jest używana do uzyskiwania usługi z macierzystym usługodawca.

Wartość zwracana

Typ: System.Object
Żądana usługa lub nullodwołanie o wartości null (Nothing w języku Visual Basic) , jeśli nie można zlokalizować usługi.

Implementuje

IServiceProvider.GetService(Type)

Uwagi

Można użyć zarządzanych VSPackages GetService uzyskanie interfejsów VSSDK COM przez badanie zestawy międzyoperacyjne.Aby uzyskać więcej informacji, zobacz Interop Namespaces.

Aby uzyskać interfejsu VSSDK:

  • GetServicepowinna zostać wywołana z serviceType zwracane przy użyciu tego interfejsu jako argument do typeof.

  • Wartość zwracana przez GetService musi być rzutowane na typ interfejsu.Rzutowanie jest konieczne ponieważ GetService kwerendy typ danych wejściowych dla identyfikatora GUID usługi, która udostępnia go.IUnknown Interfejsu klasy Implementowanie usługi jest następnie zwracany i muszą być oddane do uzyskania żądanego obiektu.(Obiekt musi być obsługiwany na podstawową usługą).

    Na przykład, można pobrać jednego IVsUIShell interfejsu:

    myUIShell = myPackage.GetService(System.typeof(IVsUIShell)) as IVsUIShell;
    

[!UWAGA]

Ze względów historycznych IVsTextManager interfejsu, który nie może być uzyskana w ten sposób.Aby uzyskać IVsTextManager interfejsu, należy najpierw użyć VsTextManagerClass (klasa wykonawczych interfejsu) jako argument do typeof, następnie oddanych wartość zwracaną przez GetService do IVsTextManager, na przykład:

IVsTextManager mytext_mgr = myPackage.GetService(System.typeof(VsTextManagerClass)) as IVsTextManager;

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

ServiceProvider Klasa

Przeciążenie GetService

Przestrzeń nazw Microsoft.VisualStudio.Shell