Interface IVsDataDefaultObject
Representa a implementação padrão de uma entidade suporte de DDEX.
Namespace: Microsoft.VisualStudio.Data.Core
Assembly: Microsoft.VisualStudio.Data.Core (em Microsoft.VisualStudio.Data.Core.dll)
Sintaxe
'Declaração
Public Interface IVsDataDefaultObject
public interface IVsDataDefaultObject
public interface class IVsDataDefaultObject
type IVsDataDefaultObject = interface end
public interface IVsDataDefaultObject
Comentários
Quando um cliente de DDEX chama o tempo de execução de DDEX para criar uma instância de uma entidade suporte de DDEX para um provedor específico, o provedor ser consultado para determinar se ele suporta a entidade, e, em caso afirmativo, uma instância é criada e retornada.Se o provedor não oferece suporte a entidade chamada por padrão, o gera uma exceção ou retorna nulluma referência nula (Nothing no Visual Basic), dependendo do caminho de código.Em o entanto, em alguns casos, os proprietários de entidade suporte de DDEX podem ter uma implementação padrão que desejem razoável para fornecer aos clientes quando um provedor de DDEX não oferece sua própria implementação, evitando assim a condição de erro.
Um exemplo de isso é a prática a entidade de suporte de IVsDataConnectionUIConnector .Este objeto de suporte contém um único método que é chamado para abrir uma conexão de dados de um contexto de interface do usuário, como uma caixa de diálogo de conexão de dados.O uso típico da entidade de suporte é adicionar o comportamento adicionais, como verificar a existência de destino de conexão de dados e solicitar para criar um novo armazenamento de dados se não foi encontrado.Em o entanto, uma opção razoável é simplesmente abrir a conexão e normalmente não fazer nada especial.Fornecendo a implementação padrão, o código do cliente é simplificado porque ele não precisa separada manipular o caso em que o provedor faz ou não implementa este objeto de suporte, não precisa incluir sua própria implementação padrão, reserva.
As entidades de suporte de DDEX que têm uma implementação padrão razoável devem incluir o atributo de DataDefaultObjectAttribute no tipo que representa a entidade de suporte.Esse atributo identifica uma classe padrão que implementa a interface.Quando solicitado por um cliente, o tempo de execução de DDEX criará uma instância da classe padrão se nenhuma implementação do provedor está disponível.O objetivo de esta interface é permitir que o tempo de execução e clientes de DDEX para determinar se uma determinada instância de um objeto é uma implementação padrão.
A interface de IVsDataDefaultObject primeiro é de interesse para extensores da plataforma de DDEX, isto é, os que criam entidades adicionais de assistências e suporte de DDEX.
Exemplos
O código a seguir mostra a definição de entidade suporte de IVsDataConnectionUIConnector que declara um atributo de objeto padrão.É seguido pela implementação de esse objeto padrão.
using System;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;
[DataDefaultObject("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
public interface IVsDataConnectionUIConnector
{
void Connect(IVsDataConnection connection);
}
[Guid("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
internal class DefaultConnectionUIConnector
: IVsDataConnectionUIConnector,
IVsDataDefaultObject
{
public void Connect(IVsDataConnection connection)
{
if (connection == null)
{
throw new ArgumentNullException("connection");
}
connection.Open();
}
}