Partilhar via


Método IVsDataSourceSpecializer.CreateObject

Cria uma instância de entidade especificada de suporte de DDEX que é implementada pelo provedor de DDEX para uma fonte de dados específica de DDEX.

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

Sintaxe

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

Parâmetros

  • source
    Tipo: System.Guid
    Um identificador de fonte de dados de DDEX.
  • 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 para uma fonte de dados específica de DDEX, se o provedor de DDEX a suporta; 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

Esse método permite que um provedor de DDEX criar diferentes implementações de uma entidade suporte de DDEX, dependendo da fonte de dados de DDEX está sendo atualmente direcionada pelo cliente de DDEX.Um exemplo de isso ocorre com a entidade de suporte de IVsDataConnectionUIControl , que tem duas implementações no provedor Microsoft SQL Server DDEX: um para se conectar ao SQL Server usando um nome de servidor (a fonte de dados Microsoft SQL Server), e um para se conectar ao SQL Server Express edition usando um nome de arquivo de banco de dados (a fonte de dados do Arquivo de banco de dados Microsoft SQL Server).

Exemplos

O código a seguir demonstra como implementar esse método para criar uma das entidades padrão de suporte para duas fontes de dados diferentes.O exemplo herda da classe de DataSourceSpecializer estrutura, que fornece uma implementação padrão dos outros métodos na interface de IVsDataSourceSpecializer .

C#

using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services.SupportEntities;
using Microsoft.VisualStudio.Data.Framework;

public class MySourceSpecializer2 : DataSourceSpecializer
{
    private static readonly Guid s_dataSource1 =
        new Guid("F24C1C71-D9AE-47ec-80C6-91B864201D72");
    private static readonly Guid s_dataSource2 =
        new Guid("194DD1D2-19A8-4493-A70B-F83C141D29E5");

    public override object CreateObject(Guid source, Type objType)
    {
        if (source == s_dataSource1)
        {
            if (objType == typeof(IVsDataConnectionUIControl))
            {
                return new MyConnectionUIControl1();
            }
        }
        if (source == s_dataSource2)
        {
            if (objType == typeof(IVsDataConnectionUIControl))
            {
                return new MyConnectionUIControl2();
            }
        }
        return null;
    }
}

internal class MyConnectionUIControl1 : DataConnectionUIControl
{
}

internal class MyConnectionUIControl2 : DataConnectionUIControl
{
}

Segurança do .NET Framework

Consulte também

Referência

IVsDataSourceSpecializer Interface

Namespace Microsoft.VisualStudio.Data.Core