Share via


IVsDataSourceSpecializer.CreateObject, méthode

Crée une instance de l'entité spécifiée en charge de DDEX implémentée par le fournisseur de DDEX pour une source de données du détail DDEX.

Espace de noms :  Microsoft.VisualStudio.Data.Core
Assembly :  Microsoft.VisualStudio.Data.Core (dans Microsoft.VisualStudio.Data.Core.dll)

Syntaxe

'Déclaration
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

Paramètres

  • source
    Type : System.Guid
    Un identificateur de source de données de DDEX.
  • objType
    Type : System.Type
    Un type d'entité de prise en charge DDEX.

Valeur de retour

Type : System.Object
Une instance de l'entité spécifiée en charge de DDEX implémentée par le fournisseur de DDEX pour une source de données du détail DDEX, si le fournisseur de DDEX la prend en charge ; sinon, nullune référence null (Nothing en Visual Basic).

Exceptions

Exception Condition
ArgumentNullException

Le paramètre objType est nullune référence null (Nothing en Visual Basic).

Notes

Cette méthode permet à un fournisseur de DDEX pour créer des implémentations d'une entité de prise en charge DDEX, en fonction de la source de données de DDEX actuel est ciblée par le client de DDEX.Un exemple de cela se produit avec l'entité de prise en charge d' IVsDataConnectionUIControl , qui a deux implémentations du fournisseur Microsoft SQL Server DDEX : un pour se connecter à SQL Server à l'aide d'un nom de serveur (la source de données Microsoft SQL Server), et un pour se connecter à SQL Server Express à l'aide d'un nom de fichier de base de données (la source de données de fichier de base de données Microsoft SQL Server).

Exemples

Le code suivant montre comment appliquer cette méthode pour créer une des entités standard du support technique pour deux sources de données différentes.L'exemple hérite de la classe d' DataSourceSpecializer d'infrastructure, qui fournit une implémentation par défaut des autres méthodes sur l'interface d' 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
{
}

Sécurité .NET Framework

Voir aussi

Référence

IVsDataSourceSpecializer Interface

Microsoft.VisualStudio.Data.Core, espace de noms