Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais
Nous recommandons d’utiliser Visual Studio 2017

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)

Object CreateObject(
	Guid source,
	Type objType
)

Paramètres

source
Type : Guid

Un identificateur de source de données de DDEX.

objType
Type : Type

Un type d'entité de prise en charge DDEX.

Valeur de retour

Type : 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, null.

ExceptionCondition
ArgumentNullException

Le paramètre objType est null.

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).

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

Afficher: