共用方式為


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: 使用 [活動記錄

請參閱

工作

如何: 提供服務

概念

Visual Studio 的擴充性範例

服務的基本資訊

其他資源

服務