IVsDataSourceManager 接口

委托DDEX数据源管理器服务,可以在注册的DDEX数据源中发现。

命名空间:  Microsoft.VisualStudio.Data.Core
程序集:  Microsoft.VisualStudio.Data.Core(在 Microsoft.VisualStudio.Data.Core.dll 中)

语法

声明
<GuidAttribute("32E0C769-C2C9-4587-B58C-013266137571")> _
Public Interface IVsDataSourceManager
[GuidAttribute("32E0C769-C2C9-4587-B58C-013266137571")]
public interface IVsDataSourceManager
[GuidAttribute(L"32E0C769-C2C9-4587-B58C-013266137571")]
public interface class IVsDataSourceManager
[<GuidAttribute("32E0C769-C2C9-4587-B58C-013266137571")>]
type IVsDataSourceManager =  interface end
public interface IVsDataSourceManager

IVsDataSourceManager 类型公开以下成员。

属性

  名称 说明
公共属性 Sources 获取所有已注册的DDEX数据源字典。

页首

备注

DDEX提供程序注册它们为Visual Studio特定安装支持通过添加到Visual Studio本地注册表项的特定注册表项的数据源。DDEX数据源管理器服务枚举这些数据源并提供注册数据源的列表调用方。它还执行额外工作确保每个数据源正确注册。有关未正确注册的数据源的信息登录Windows事件日志和数据源不会返回给调用方。下列寄存器属性由此服务验证:

  • 在数据源项下的数据源注册表项是由32个数字的有效的GUID分隔的连字符,括在方括号({} xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。

  • DefaultProvider注册表值,因此,如果指定,这是有效的GUID。

  • 子列表在SupportingProviders键下,因此,如果指定,都是有效的GUID。

  • 如果默认提供程序指定,列出了SupportingProviders项下。

  • 至少有一个提供程序列表。SupportingProviders项下是一个有效,注册DDEX提供程序。

请注意Visual Studio的某些编辑器限制哪些数据源可用。例如,快速编辑器允许Microsoft DDEX数据源的一个小子集。这些限制是为业务用途并重写能添加了除了这些数据源外该编辑器允许的所有项。特定DDEX提供程序可以动态确定它是否支持数据源在当前环境下通过实现 IVsDataProviderDynamicSupport 支持实体。如果该编辑或当前环境取决于数据源不受支持,它不受此服务返回。

DDEX数据源管理器服务是向该环境注册的全局Visual Studio服务。因此,您通过请求从全局服务提供程序对象的服务可以访问它。

示例

下面的代码演示客户端如何从全局Visual Studio服务提供程序中检索DDEX源管理器服务和枚举在该环境中注册的DDEX数据源。

using System;
using System.Diagnostics;
using Microsoft.VisualStudio.Data.Core;

public class DDEX_IVsDataSourceManagerExample1
{
    public static void EnumerateDataSources(IServiceProvider serviceProvider)
    {
        IVsDataSourceManager sourceManager =
            serviceProvider.GetService(typeof(IVsDataSourceManager))
                as IVsDataSourceManager;
        foreach (IVsDataSource source in sourceManager.Sources.Values)
        {
            Trace.WriteLine(source.DisplayName);
        }
    }
}

请参见

参考

Microsoft.VisualStudio.Data.Core 命名空间