Partilhar via


Interface IVsDataProviderDynamicSupport

Fornece a capacidade de modificar o suporte de um provedor de DDEX, das fontes suportados, e operações específicas, com base no ambiente atual.

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

Sintaxe

'Declaração
Public Interface IVsDataProviderDynamicSupport
public interface IVsDataProviderDynamicSupport
public interface class IVsDataProviderDynamicSupport
type IVsDataProviderDynamicSupport =  interface end
public interface IVsDataProviderDynamicSupport

O tipo IVsDataProviderDynamicSupport expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública IsProviderSupported Obtém um valor indicando se o provedor é suportado no ambiente atual.

Superior

Métodos

  Nome Descrição
Método público GetUnsupportedReason Obtém uma cadeia de caracteres localizada que descreve a razão que uma operação não é suportada, para a fonte de dados especificada de DDEX.
Método público IsOperationSupported Determina se uma operação específica é suportado no ambiente atual, para a fonte de dados especificada de DDEX.
Método público IsSourceSupported Obtém um valor indicando se uma fonte de dados de detalhes DDEX é suportada por este provedor de DDEX no ambiente atual.

Superior

Comentários

Um provedor de DDEX registra sua existência de uma instalação específico do Visual Studio adicionando chaves do Registro específicas a seção local de Registro do Visual Studio.Em circunstâncias normais, esse registro é um indicando que o provedor existe e deve estar disponível para uso na instância do Visual Studio.Em o entanto, em algumas circunstâncias é necessário permitir que o provedor de DDEX dinamicamente determinar se é suportado no ambiente, ou se ele suporta uma fonte de dados específico ou uma certas operações.Isso pode ser o caso se os componentes específicos direcionados ou usados pelo provedor de DDEX não são instalados, por exemplo, um provedor ADO.NET em tempo de execução que representa o provedor de DDEX em tempo de design.

Este objeto de suporte permite que o provedor de DDEX para escolher quando está disponível no ambiente, que as fontes de dados que eles podem oferecer suporte, e que as operações específicas é permitido.A primeira é afetado de duas opções se o provedor de dados e/ou a fonte de dados são enumerados e retornados pelos serviços de IVsDataProviderManager e de IVsDataSourceManager , respectivamente.A terceira opção afeta o comportamento de IsOperationSupported métodos e do GetUnsupportedReason .

Exemplos

O código a seguir demonstra como um provedor de DDEX pode implementar essa entidade de suporte a lógica específica que modifica dinamicamente a disponibilidade em tempo de design, dependendo da existência de uma chave do Registro específica.

using System;
using System.ComponentModel.Design;
using Microsoft.Win32;
using Microsoft.VisualStudio.Data.Core;

internal class MyProviderDynamicSupport : IVsDataProviderDynamicSupport
{
    public bool IsProviderSupported
    {
        get
        {
            RegistryKey key = Registry.LocalMachine.OpenSubKey(
                @"SOFTWARE\Company\AdoDotNetProvider");
            if (key == null)
            {
                return false;
            }
            key.Close();
            return true;
        }
    }

    public bool IsSourceSupported(Guid source)
    {
        return true;
    }

    public bool IsOperationSupported(
        Guid source, CommandID command, object context)
    {
        return true;
    }

    public string GetUnsupportedReason(
        Guid source, CommandID command, object context)
    {
        return null;
    }
}

Consulte também

Referência

Namespace Microsoft.VisualStudio.Data.Core