How to: 使用服務
任何管理是衍生自的 VSPackage Package ,已決定正確位置,並可以要求所有的通用服務本身。 因為封裝類別會實作IServiceProvider,任何衍生自套件的 VSPackage 也是服務提供者。
當Visual Studio載入受管理的 VSPackage,它會傳遞IServiceProvider服務提供者,以封裝SetSite方法進行初始化期間,設置 VSPackage。 封裝類別包裝這個服務提供者,並提供GetService以取得服務的方法。
注意事項 |
---|
VSPackage 已決定位置之前,會呼叫 VSPackage 的建構函式,因為通用的服務就會是通常無法從 VSPackage 的建構函式內。請參閱How to: 疑難排解服務問題的因應措施。 |
若要使用服務
在這段程式碼中插入 VSPackage 的建構函式以外的任何方法:
Dim log As IVsActivityLog = TryCast(GetService(GetType(SVsActivityLog)), IVsActivityLog) If log Is Nothing Then Return End If
IVsActivityLog log = GetService(typeof(SVsActivityLog)) as IVsActivityLog; if (log == null) return;
這段程式碼會取得 SVsActivityLog 服務並將其以轉換IVsActivityLog介面,可以用來寫入活動的記錄檔。 如需範例,請參閱 How to: 使用 [活動記錄。