Metodo Package.GetService
Ottiene i servizi basati su tipi dal contenitore del servizio di un VSPackage.
Spazio dei nomi: Microsoft.VisualStudio.Shell
Assembly: Microsoft.VisualStudio.Shell.11.0 (in Microsoft.VisualStudio.Shell.11.0.dll)
Sintassi
'Dichiarazione
Protected Function GetService ( _
serviceType As Type _
) As Object
protected Object GetService(
Type serviceType
)
Parametri
- serviceType
Tipo: System.Type
il tipo di servizio da recuperare.
Valore restituito
Tipo: System.Object
Un'istanza del servizio richiesto, o nullriferimento null (Nothing in Visual Basic) se il servizio non può essere trovato.
Eccezioni
Eccezione | Condizione |
---|---|
ArgumentNullException | serviceType è nullriferimento null (Nothing in Visual Basic). |
Note
Vspackage gestito può utilizzare GetService per ottenere le interfacce COM dell'ambiente SDK eseguire una query agli assembly di interoperabilità di SDK.
Per ottenere un'interfaccia specifica dell'ambiente SDK:
GetService deve essere chiamato da serviceType restituito utilizzando tale interfaccia come argomento a typeof.
Il valore restituito di GetService necessario eseguire il cast al tipo di interfaccia.
Il cast è necessaria perché GetService trova sul tipo di base del servizio GUID con un tipo di interfaccia di IUnknown.
Ad esempio, uno può ottenere un'interfaccia di IVsUIShell con:
myUIShell = myPackage.GetService(System.typeof(IVsUIShell)) as IVsUIShell;
[!NOTA]
Per motivi di tipo storico, l'interfaccia di IVsTextManager non può essere recuperata in questo modo.Per ottenere un'interfaccia di IVsTextManager , il primo utilizzo VsTextManagerClass (la classe che implementa l'interfaccia) come argomento a typeof, quindi eseguire il cast del valore restituito di GetService a IVsTextManager, ad esempio:IVsTextManager mytext_mgr = myPackage.GetService(System.typeof(VsTextManagerClass)) as IVsTextManager;
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.