Partilhar via


Método IVsDataSource.GetProperty (Guid, String)

Obtém uma propriedade de fonte de dados de DDEX como registrado por um provedor específico de suporte de DDEX.

Namespace:  Microsoft.VisualStudio.Data.Core
Assembly:  Microsoft.VisualStudio.Data.Core (em Microsoft.VisualStudio.Data.Core.dll)

Sintaxe

'Declaração
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: System.Guid
    O identificador de um provedor de suporte de DDEX.

Valor de retorno

Tipo: System.Object
O valor da propriedade, se existir; caso contrário, nulluma referência nula (Nothing no Visual Basic).

Exceções

Exceção Condição
ArgumentNullException

O parâmetro de name foi nulluma referência nula (Nothing no Visual Basic).

Comentários

Uma fonte de dados de DDEX pode registrar um conjunto de propriedades que são acessadas por clientes de DDEX para determinar informações sobre a fonte de dados.Além de isso, cada provedor de DDEX que suporta uma fonte de dados de DDEX pode registrar as propriedades específicas de provedor associadas com a fonte de dados de DDEX.

Quando o parâmetro de provider é GUID vazia, esse método retorna um valor de propriedade global da fonte de dados abrindo a chave de Registro da raiz da fonte de dados de DDEX (nas fontes de dados fechar seção no local de Registro do Visual Studio) e solicitando um valor sob a chave que tem nameespecificado.Quando o parâmetro de provedor é um identificador válido de suporte do provedor de DDEX, esse método retorna um valor de propriedade específica do provedor de fonte de dados abrindo a subchave de suporte do provedor sob a chave de Registro da raiz da fonte de dados e solicitando um valor em esta subchave com nameespecificado.Depois que uma propriedade específica for solicitada, o valor é salvo na memória em tempo de execução de DDEX e não atualizado até que o Visual Studio é reiniciado.

Exemplos

O código a seguir demonstra a implementação da propriedade de DisplayName .Como cadeias de caracteres localizados são fornecidas por provedores de suporte, determina um provedor de suporte apropriado para usar com base no provedor padrão e/ou provedores que fornecem valores para a propriedade de DisplayName .Resolve em este para a cadeia de caracteres localizada real usando a API de provedor de DDEX.

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

Segurança do .NET Framework

Consulte também

Referência

IVsDataSource Interface

Sobrecargas GetProperty

Namespace Microsoft.VisualStudio.Data.Core