Compartir a través de


IVsDataSource.GetProperty (Método) (Guid, String)

获取 DDEX 数据源的属性。注册由特定支持的 DDEX 提供程序。

Espacio de nombres:  Microsoft.VisualStudio.Data.Core
Ensamblado:  Microsoft.VisualStudio.Data.Core (en Microsoft.VisualStudio.Data.Core.dll)

Sintaxis

'Declaración
Function GetProperty ( _
    provider As Guid, _
    name As String _
) As Object
Object GetProperty(
    Guid provider,
    string name
)
Object^ GetProperty(
    Guid provider, 
    String^ name
)
abstract GetProperty : 
        provider:Guid * 
        name:string -> Object
function GetProperty(
    provider : Guid, 
    name : String
) : Object

Parámetros

  • provider
    Tipo: Guid

    受支持的 DDEX 提供程序标识符的。

  • name
    Tipo: String

    要检索的属性的名称。

Valor devuelto

Tipo: Object
属性值,如果,存在;否则,返回 nullreferencia null (Nothing en Visual Basic)。

Excepciones

Excepción Condición
ArgumentNullException

name 参数为 nullreferencia null (Nothing en Visual Basic)。

Comentarios

DDEX 数据源可以由 DDEX 访问注册客户确定有关数据源的信息的一组属性。 此外,支持 DDEX 数据源的每个 DDEX 提供程序可注册该提供程序特定的属性与 DDEX 数据源。

如果 provider 参数为 null 时 GUID,该方法通过打开 DDEX 数据源的根注册表项 (在数据源中密钥在本地 Visual Studio 注册表配置单元) 和请求值检索全局数据源属性值。具有指定的 name项下。 尽管提供程序参数是有效的支持 DDEX 提供程序标识符时,该方法通过打开支持的程序提供的子项。数据源的根注册表项下和请求值检索一提供程序特定数据源的属性值与指定 name的以下子项下。 在特定的属性请求后,其值由运行时公开且没有保存在内存 DDEX 刷新,直到重新启动 Visual Studio。

Ejemplos

下面的代码演示 DisplayName 属性的实现。 由于支持提供程序仅提供本地化的字符串一样,它确定相应支持的提供程序以根据和/或提供程序提供 DisplayName 属性的值默认提供程序。 使用 DDEX 提供程序 API,然后解决此为实际的本地化字符串。

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

public class DDEX_IVsDataSourceExample2
{
    public static string GetSourceDisplayName(
        IServiceProvider serviceProvider,
        IVsDataSource dataSource)
    {
        string displayName = null;
        string resourceId = null;
        Guid provider = dataSource.DefaultProvider;
        if (provider != Guid.Empty)
        {
            resourceId = dataSource.GetProperty(provider, "DisplayName") as string;
        }
        if (resourceId == null)
        {
            foreach (Guid providerId in dataSource.GetProviders())
            {
                resourceId = dataSource.GetProperty(
                    providerId, "DisplayName") as string;
                if (resourceId != null)
                {
                    provider = providerId;
                    break;
                }
            }
        }
        if (provider != Guid.Empty && resourceId != null)
        {
            IVsDataProviderManager providerManager = serviceProvider.GetService(
                typeof(IVsDataProviderManager)) as IVsDataProviderManager;
            IVsDataProvider dataProvider = providerManager.Providers[provider];
            displayName = dataProvider.GetString(resourceId);
        }
        return displayName;
    }
}

Seguridad de .NET Framework

Vea también

Referencia

IVsDataSource Interfaz

GetProperty (Sobrecarga)

Microsoft.VisualStudio.Data.Core (Espacio de nombres)