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 :
GetService doit être appelé avec serviceType retourné à l'aide de cette interface comme argument à typeof.
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
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.