Compartir a través de


IVsDataSourceSpecializer.CreateObject (Método)

Crea una instancia de la entidad especificada de soporte de DDEX implementada por el proveedor de DDEX para un origen de datos específico de DDEX.

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

Sintaxis

'Declaración
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: Guid

    Un identificador de origen de datos de DDEX.

  • objType
    Tipo: Type

    Un tipo de entidad de soporte de DDEX.

Valor devuelto

Tipo: Object
Una instancia de la entidad especificada de soporte de DDEX implementada por el proveedor de DDEX para un origen de datos específico de DDEX, si el proveedor de DDEX lo admite; si no, nullreferencia null (Nothing en Visual Basic).

Excepciones

Excepción Condición
ArgumentNullException

El valor del parámetro objType es nullreferencia null (Nothing en Visual Basic).

Comentarios

Este método permite que un proveedor de DDEX crear implementaciones diferentes de una entidad de soporte de DDEX, dependiendo del origen de datos de DDEX se está destinado actualmente por el cliente de DDEX. Un ejemplo de esto sucede con la entidad de compatibilidad de IVsDataConnectionUIControl , que tiene dos implementaciones del proveedor de Microsoft SQL Server DDEX: uno para conectarse a SQL Server mediante un nombre de servidor (el origen de datos de Microsoft SQL Server), y otro para conectarse a SQL Server Express edición mediante un nombre de archivo de base de datos (el origen de datos del archivo de base de datos de Microsoft SQL Server).

Ejemplos

El código siguiente muestra cómo implementar este método para crear una de las entidades admiten estándar para dos orígenes de datos diferentes. El ejemplo hereda de la clase de DataSourceSpecializer de marco, que proporciona una implementación predeterminada de los otros métodos de la interfaz 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
{
}

Seguridad de .NET Framework

Vea también

Referencia

IVsDataSourceSpecializer Interfaz

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