Partager via


Package.GetService, méthode

Gets type- a basé des services du conteneur de service d'un VSPackage.

Espace de noms :  Microsoft.VisualStudio.Shell
Assembly :  Microsoft.VisualStudio.Shell.11.0 (dans Microsoft.VisualStudio.Shell.11.0.dll)

Syntaxe

'Déclaration
Protected Function GetService ( _
    serviceType As Type _
) As Object
protected Object GetService(
    Type serviceType
)

Paramètres

  • serviceType
    Type : System.Type
    Type de service à récupérer.

Valeur de retour

Type : System.Object
Instance du service demandé, ou nullRéférence Null (Nothing en Visual Basic) si le service est introuvable.

Exceptions

Exception Condition
ArgumentNullException

serviceType a la valeur nullRéférence Null (Nothing en Visual Basic).

Remarques

VSPackages managé peut utiliser GetService pour obtenir des interfaces COM de l'environnement Kit de développement logiciel en interrogeant les assemblys d'interopérabilité du Kit de développement logiciel.

Pour obtenir une interface spécifique de l'environnement Kit de développement logiciel :

  1. GetService doit être appelé avec serviceType retourné à l'aide de cette interface comme argument à typeof.

  2. La valeur de retour d'GetService doit être cast au type d'interface.

Le " casting " est nécessaire car des recherches d'GetService pour sur le type de service GUID de base avec un type d'interface d'IUnknown.

Par exemple, il peut obtenir une interface d'IVsUIShell avec :

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

[!REMARQUE]

Pour des raisons historiques, l'interface d'IVsTextManager ne peut pas être obtenue de cette manière.Pour obtenir une interface d'IVsTextManager, première utilisation VsTextManagerClass (la classe implémentant l'interface) comme argument à typeof, effectuez un cast ensuite la valeur de retour d'GetService à IVsTextManager, par exemple : IVsTextManager mytext_mgr = myPackage.GetService(System.typeof(VsTextManagerClass)) as IVsTextManager;

Sécurité .NET Framework

Voir aussi

Référence

Package Classe

Microsoft.VisualStudio.Shell, espace de noms

IServiceProvider

IVsTextManager

Type

ArgumentNullException