Udostępnij za pośrednictwem


Metoda Package.GetService —

Pobiera typ usługi z kontenera usługi VSPackage.

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

Składnia

'Deklaracja
Protected Function GetService ( _
    serviceType As Type _
) As Object
protected Object GetService(
    Type serviceType
)

Parametry

  • serviceType
    Typ: System.Type
    Typ usługi do pobrania.

Wartość zwracana

Typ: System.Object
Wystąpienie żądanej usługi lub nullodwołanie o wartości null (Nothing w języku Visual Basic) , jeśli nie można odnaleźć usługi.

Wyjątki

Wyjątek Warunek
ArgumentNullException

serviceTypeis nullodwołanie o wartości null (Nothing w języku Visual Basic).

Uwagi

Można użyć zarządzanych VSPackages GetService uzyskanie interfejsów COM SDK środowiska przez badanie zestawy międzyoperacyjne SDK.

Aby uzyskać określony interfejs środowiska SDK:

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

  2. Wartość zwracana przez GetService musi być rzutowane na typ interfejsu.

Rzutowanie jest konieczne ponieważ GetService wyszukuje na podstawie usługi wpisz identyfikator GUID z typu interfejsu, z IUnknown.

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

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

[!UWAGA]

Ze względów historycznych IVsTextManager interfejs 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

Package Klasa

Przestrzeń nazw Microsoft.VisualStudio.Shell

IServiceProvider

IVsTextManager

Type

ArgumentNullException