Interface IVsDataProviderObjectFactory
Fornece a capacidade de criar implementações de provedor de DDEX de entidades de suporte.
Namespace: Microsoft.VisualStudio.Data.Core
Assembly: Microsoft.VisualStudio.Data.Core (em Microsoft.VisualStudio.Data.Core.dll)
Sintaxe
'Declaração
Public Interface IVsDataProviderObjectFactory
public interface IVsDataProviderObjectFactory
public interface class IVsDataProviderObjectFactory
type IVsDataProviderObjectFactory = interface end
public interface IVsDataProviderObjectFactory
O tipo IVsDataProviderObjectFactory expõe os membros a seguir.
Métodos
Nome | Descrição | |
---|---|---|
CreateObject | Cria uma instância de entidade especificada de suporte de DDEX que é implementada pelo provedor de DDEX. | |
GetAssembly | Resolve uma cadeia de caracteres específica do provedor do assembly em sua representação de Assembly correspondente. | |
GetType | Resolve um nome específico do provedor de tipo para sua representação correspondente de Type . |
Superior
Comentários
Um provedor de DDEX consiste em um conjunto de implementações específicas de entidades de suporte de DDEX que podem ser usadas por clientes para invocar o comportamento específico de provedor para uma determinada ação, conhecido.Em o fundamento em nível de usuário, entidades de suporte de DDEX é representado pelas interfaces, que podem gerar em outros tipos de entidades, como o conteúdo XML.Essa interface representa o factory para todas as entidades globais suporte de DDEX e deve ser implementada por todos os provedores de DDEX.Também representa a resolução de classificação personalizada e assembly que você pode usar quando trabalhando com entidades de suporte que especificam essas informações como as cadeias de caracteres que devem ser resolvidas.
Um provedor de DDEX pode implementar essa interface implicitamente ou explicitamente.Uma implementação implícita ocorre quando o provedor de DDEX Registro é baseado e uma implementação interna chaves do Registro de leitura da interface de várias que descrevem como criar as entidades de suporte.Uma implementação explícita ocorre quando o provedor de DDEX pacote é baseado e uma instância da interface é oferecida como um serviço na implementação de pacote Visual Studio do provedor.O primeiro é o mais agile; o segundo é o mais flexível.O primeiro é a abordagem preferencial a menos que o último é necessário.
Exemplos
O código a seguir demonstra como um provedor pacote de baseado DDEX pode implementar essa interface com suporte para qualquer as entidades padrão de suporte.Usa a implementação de interface base que é definida para o assembly da estrutura de DDEX.
using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Framework;
using Microsoft.VisualStudio.Data.Services;
using Microsoft.VisualStudio.Data.Services.SupportEntities;
internal class MyProviderObjectFactory : DataProviderObjectFactory
{
public override object CreateObject(Type objType)
{
if (objType == null)
{
throw new ArgumentNullException("objType");
}
if (objType == typeof(IVsDataConnectionProperties))
{
return new MyConnectionProperties();
}
if (objType == typeof(IVsDataConnectionSupport))
{
return new MyConnectionSupport();
}
return null;
}
}
internal class MyConnectionProperties : DataConnectionProperties
{
}
internal class MyConnectionSupport : IVsDataConnectionSupport
{
// Implement the interface methods
public void Initialize(object providerObj) {}
public bool Open(bool doPromptCheck) {return true;}
public void Close() {}
public string ConnectionString { get {return "";} set {} }
public int ConnectionTimeout { get {return 0;} set {} }
public DataConnectionState State { get {return DataConnectionState.Closed;} }
public object ProviderObject { get {return null;} }
// Inherited from System.IServiceProvider
public Object GetService(Type serviceType) {return null;}
// Inherited from System.IDisposable
public void Dispose() {}
}