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
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..