Get Service(Type) Method
Gets type-based services from the VSPackage service container.
protected: virtual System::Object ^ GetService(Type ^ serviceType);
protected: virtual Platform::Object ^ GetService(Platform::Type ^ serviceType);
protected virtual object GetService (Type serviceType);
abstract member GetService : Type -> obj override this.GetService : Type -> obj
Protected Overridable Function GetService (serviceType As Type) As Object
The type of service to retrieve.
An instance of the requested service, or
null if the service could not be found.
Managed VSPackages can use
GetService to get Environment SDK COM interfaces by querying the interop assemblies of the SDK.
To get a specific Environment SDK interface:
GetServiceshould be called with a
serviceTypereturned by using that interface as an argument to
The return value of
GetServicemust be cast to the interface type.
The casting is necessary because
GetService searches for on the basis service type GUID with an interface type of
For example, one could get an IVsUIShell interface with:
myUIShell = myPackage.GetService(System.typeof(IVsUIShell)) as IVsUIShell;
For historical reasons, the IVsTextManager interface cannot be obtained in this manner. To obtain an IVsTextManager interface, first use VsTextManagerClass (the class implementing the interface) as the argument to
typeof, then cast the return value of
GetService to IVsTextManager, for instance:
IVsTextManager mytext_mgr = myPackage.GetService(System.typeof(VsTextManagerClass)) as IVsTextManager;