Package.GetService(Type) Method
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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);
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
- serviceType
- Type
The type of service to retrieve.
An instance of the requested service, or null
if the service could not be found.
serviceType
is null
.
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:
GetService
should be called with aserviceType
returned by using that interface as an argument totypeof
.The return value of
GetService
must 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 IUnknown
.
For example, one could get an IVsUIShell interface with:
myUIShell = myPackage.GetService(System.typeof(IVsUIShell)) as IVsUIShell;
Napomena
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;
Proizvod | Verzije |
---|---|
Visual Studio SDK | 2015, 2017, 2019, 2022 |