IVsDataHostService 介面
提供 DDEX 主機服務。
命名空間: Microsoft.VisualStudio.Data.Core
組件: Microsoft.VisualStudio.Data.Core (在 Microsoft.VisualStudio.Data.Core.dll 中)
語法
'宣告
<GuidAttribute("42B51AD0-12B8-409f-BB67-1A381CCAD02E")> _
Public Interface IVsDataHostService
[GuidAttribute("42B51AD0-12B8-409f-BB67-1A381CCAD02E")]
public interface IVsDataHostService
[GuidAttribute(L"42B51AD0-12B8-409f-BB67-1A381CCAD02E")]
public interface class IVsDataHostService
[<GuidAttribute("42B51AD0-12B8-409f-BB67-1A381CCAD02E")>]
type IVsDataHostService = interface end
public interface IVsDataHostService
IVsDataHostService 型別會公開下列成員。
屬性
名稱 | 說明 | |
---|---|---|
![]() |
UIThread | 取得執行 Visual Studio 處理序的主要 (UI) 執行緒。 |
回頁首
方法
名稱 | 說明 | |
---|---|---|
![]() |
BeginInvokeOnUIThread | 以非同步方式執行以 Visual Studio 處理序 的主要 (UI) 執行緒上執行指定的方法,以指定的引數清單。 |
![]() |
GetService<T>() | 取得指定型別的全域 Visual Studio 服務。 |
![]() |
GetService<T>(Guid) | 取得使用指定的類別 ID 註冊實作指定的介面的全域 Visual Studio 服務。 |
![]() |
GetService<TService, TInterface>() | 取得實作指定的介面指定型別的全域 Visual Studio 服務。 |
![]() |
InvokeOnUIThread | 同步處理在執行 Visual Studio 處理序的主執行緒上執行指定的方法,以指定的引數清單。 |
![]() |
TryGetService<T>() | 嘗試取得指定型別的全域 Visual Studio 服務。 |
![]() |
TryGetService<T>(Guid) | 嘗試取得使用指定的類別 ID 註冊實作指定的介面的全域 Visual Studio 服務。 |
![]() |
TryGetService<TService, TInterface>() | 嘗試取得實作指定的介面指定型別的全域 Visual Studio 服務。 |
回頁首
備註
DDEX 主機服務提供的 Managed 方法會透過各種泛型方法存取全域 Visual Studio 服務。這個服務會在 Visual Studio 環境提供的基礎原生 IServiceProvider 實作的 QueryService 方法都可呼叫。這項服務也提供變得很重要的成員,當您使用執行 UI 執行緒無法同步處理的非同步作業。
DDEX 主機服務是全域 Visual Studio 服務向環境註冊,而且可以透過要求服務以存取從全域服務提供者物件。
範例
下列程式碼示範用戶端使用其中一個泛型方法,透過從全域 Visual Studio 服務提供者擷取 DDEX 主機服務會擷取一個其他服務。
using System;
using System.Diagnostics;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Shell.Interop;
public class DdexHostSvcExample1
{
public static IVsUIShell GetIVsUIShell(IServiceProvider serviceProvider)
{
IVsDataHostService hostService = serviceProvider.GetService(
typeof(IVsDataHostService)) as IVsDataHostService;
return hostService.GetService<IVsUIShell>();
}
}