Partilhar via


Método IVsDataProviderObjectFactory.CreateObject

Cria uma instância de entidade especificada de suporte de DDEX que é implementada pelo provedor de DDEX.

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

Sintaxe

'Declaração
Function CreateObject ( _
    objType As Type _
) As Object
Object CreateObject(
    Type objType
)
Object^ CreateObject(
    Type^ objType
)
abstract CreateObject : 
        objType:Type -> Object 
function CreateObject(
    objType : Type
) : Object

Parâmetros

  • objType
    Tipo: System.Type
    Um tipo de entidade suporte de DDEX.

Valor de retorno

Tipo: System.Object
Uma instância de entidade especificada de suporte de DDEX que é implementada pelo provedor de DDEX, se o provedor de DDEX o oferece suporte; caso contrário, nulluma referência nula (Nothing no Visual Basic).

Exceções

Exceção Condição
ArgumentNullException

o parâmetro de objType é nulluma referência nula (Nothing no Visual Basic).

Comentários

O método provavelmente o mais importante na plataforma de DDEX, esse método representa o núcleo do modelo de extensibilidade, permitindo que um tipo abstrato (por exemplo, interface ou uma classe base) é passado para o provedor e obtendo a voltar a implementação de um provedor de esse tipo.Um provedor implementa este método para retornar entidades de nível superior de suporte, isto é, essas normalmente criados diretamente por um cliente indiretamente pela o contrário de ver uma conexão de dados para um serviço ou criar um tipo que é referenciado em um arquivo XML de suporte de dados.

Exemplos

O código a seguir demonstra como implementar esse método para criar um número de entidades padrão de suporte.O exemplo herda da classe de DataProviderObjectFactory estrutura, que fornece uma implementação padrão dos métodos de GetType e de GetAssembly .

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() {}

}

Segurança do .NET Framework

Consulte também

Referência

IVsDataProviderObjectFactory Interface

Namespace Microsoft.VisualStudio.Data.Core