Compartir a través de


IVsDataProviderDynamicSupport (Interfaz)

Proporciona la capacidad de modificar la compatibilidad de un proveedor de DDEX, sus orígenes compatibles, y operaciones específicas, basándose en el entorno actual.

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

Sintaxis

'Declaración
Public Interface IVsDataProviderDynamicSupport
public interface IVsDataProviderDynamicSupport
public interface class IVsDataProviderDynamicSupport
type IVsDataProviderDynamicSupport =  interface end
public interface IVsDataProviderDynamicSupport

El tipo IVsDataProviderDynamicSupport expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública IsProviderSupported Obtiene un valor que indica si el proveedor se admite en el entorno actual.

Arriba

Métodos

  Nombre Descripción
Método público GetUnsupportedReason Obtiene una cadena traducida que describe el motivo que una operación no se admite, del origen de datos especificado de DDEX.
Método público IsOperationSupported Determina si una operación concreta se admite en el entorno actual, para el origen de datos especificado de DDEX.
Método público IsSourceSupported Obtiene un valor que indica si un origen de datos concreto de DDEX es compatible con este proveedor de DDEX en el entorno actual.

Arriba

Comentarios

Un proveedor de DDEX registra su existencia para una instalación determinada de Visual Studio agregando clave del Registro concretos al subárbol local del registro de Visual Studio. En circunstancias normales, este registro es una indicación de que el proveedor existe y debe estar disponible para su uso en la instancia de Visual Studio. Sin embargo, en algunos casos es necesario permitir que el proveedor de DDEX determina dinámicamente si se admite en el entorno, o si admite un origen de datos determinado o ciertas operaciones. Esto puede suceder si los componentes determinados utilizados o dirigidos por el proveedor de DDEX no están instalados, por ejemplo, un proveedor de runtime ADO.NET que el proveedor de DDEX representa en tiempo de diseño.

Esta entidad admiten permite al proveedor de DDEX elegir cuándo está disponible en el entorno, que pueden los orígenes de datos que admitir, y que no se permiten operaciones específicas. La primera influencia de dos opciones si el proveedor de datos o el origen de datos son enumerados y devueltos por los servicios de IVsDataProviderManager y de IVsDataSourceManager , respectivamente. La tercera opción afecta al comportamiento de IsOperationSupported y métodos de GetUnsupportedReason .

Ejemplos

El código siguiente muestra cómo un proveedor de DDEX puede implementar esta entidad compatible con la lógica específica que modifica dinámicamente su disponibilidad en tiempo de diseño, dependiendo de la existencia de una clave del Registro concreto.

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

Vea también

Referencia

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