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 のホスト サービスは、さまざまなジェネリック メソッドによってグローバル Visual Studio のサービスにアクセスするマネージの方法を提供します。このサービスは呼び出し、Visual Studio 環境から提供されるネイティブの IServiceProvider の基になる実装の QueryService のメソッドより簡単です。このサービスは、UI スレッドと同期である非同期操作を実行する場合に重要になっているメンバーを提供します。

DDEX のサービスは、ホスト環境に登録されているグローバル サービス、Visual Studio でグローバル サービス プロバイダーからオブジェクトのサービス要求がアクセスできます。

次のコードは、クライアントが Visual Studio のグローバル サービス プロバイダーから DDEX のホスト サービスを取得し、ジェネリック メソッドの 1 種類を使用して、サービスを取得する方法を示しています。

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>();
    }
}

参照

関連項目

Microsoft.VisualStudio.Data.Core 名前空間