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

IVsDataDefaultObject, interface

Représente l'implémentation par défaut d'une entité de prise en charge DDEX.

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

public interface IVsDataDefaultObject

Lorsqu'un client de DDEX appelle le runtime de DDEX pour créer une instance d'une entité de prise en charge DDEX pour un fournisseur particulier, le fournisseur est interrogé pour déterminer s'il prend en charge l'entité, et, si tel est le cas, une instance de est créée et retournée. Si le fournisseur ne prend pas en charge l'entité, l'appel par défaut lève une exception ou retourne null, selon le chemin de code. Toutefois, dans certains cas, les propriétaires de l'entité de prise en charge DDEX peuvent avoir une implémentation par défaut de sens qu'ils souhaitent permettre aux clients lorsqu'un fournisseur de DDEX ne fournit pas sa propre implémentation, ainsi évitant la condition d'erreur.

Un exemple de ce est pratique l'entité de prise en charge d' IVsDataConnectionUIConnector . Cette entité de charge contient une seule méthode qui est appelée pour ouvrir une connexion de données à partir d'un contexte d'interface utilisateur, tel qu'une boîte de dialogue de connexion de données. L'utilisation courante de cette entité de prise en charge est d'ajouter le comportement en outre, tel que vérifier l'existence de la cible de connexion de données et demander à créer un magasin de données si elle est introuvable. Toutefois, une valeur par défaut est judicieux d'ouvrir simplement la connexion normalement et de faire rien de spécial. Grâce à cette implémentation par défaut, le code client est simplifié car il n'a plus besoin de traiter séparément les cas dans lesquels le fournisseur fait ou n'implémente pas cette entité de charge, ni il doit inclure son propre secours, implémentation par défaut.

Les entités de prise en charge DDEX qui ont une implémentation par défaut de sens doit inclure l'attribut d' DataDefaultObjectAttribute sur le type qui représente l'entité de charge. Cet attribut identifie une classe par défaut qui implémente cette interface. Lorsque demandé par un client, le runtime de DDEX crée une instance de la classe par défaut si aucune implémentation de fournisseur n'est disponible. L'objectif de cette interface est de permettre au runtime et aux clients de DDEX de déterminer si une instance donnée d'un objet est une implémentation par défaut.

L'interface d' IVsDataDefaultObject est principalement d'adresse aux extendeurs de plateforme de DDEX, c. autrement dit., ceux qui créent des entités supplémentaires de services et prend en charge DDEX.

Le code suivant illustre la définition de l'entité de prise en charge d' IVsDataConnectionUIConnector qui déclare un attribut d'objet par défaut. Il est suivi de l'implémentation de cet objet par défaut.

using System;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;

[DataDefaultObject("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
public interface IVsDataConnectionUIConnector
{
    void Connect(IVsDataConnection connection);
}

[Guid("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
internal class DefaultConnectionUIConnector
    : IVsDataConnectionUIConnector,
      IVsDataDefaultObject
{
    public void Connect(IVsDataConnection connection)
    {
        if (connection == null)
        {
            throw new ArgumentNullException("connection");
        }
        connection.Open();
    }
}
Afficher: