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中运行的主(用户界面)线程处理。

页首

方法

  名称 说明
公共方法 BeginInvokeOnUIThread 异步执行在主(用户界面)线程的指定方法在Visual Studio中运行处理,并指定的参数列表。
公共方法 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 方法便于调用。此服务还提供变为重要的成员,当您执行与用户界面线程是同步的异步操作时。

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

请参见

参考

Microsoft.VisualStudio.Data.Core 命名空间