Freigeben über


IVsDataDefaultObject-Schnittstelle

Stellt die Standardimplementierung einer DDEX-Stützentität dar.

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

Syntax

'Declaration
Public Interface IVsDataDefaultObject
public interface IVsDataDefaultObject
public interface class IVsDataDefaultObject
type IVsDataDefaultObject =  interface end
public interface IVsDataDefaultObject

Hinweise

Wenn ein DDEX-Client die DDEX-Laufzeit aufruft, um eine Instanz einer DDEX-Stützentität für einen bestimmten Anbieter erstellen, wird der Anbieter abgefragt, um zu bestimmen, ob die Entität unterstützt, und, wenn dies der Fall ist, wird eine Instanz erstellt und zurückgegeben. Wenn der Anbieter nicht die Entität unterstützt, löst der Aufruf standardmäßig entweder eine Ausnahme aus oder gibt nullein Nullverweis (Nothing in Visual Basic), abhängig vom Codepfad zurück. In einigen Fällen haben möglicherweise die Besitzer der DDEX-Stützentität eine angemessene Standardimplementierung, die sie an die Clients bereitstellen möchten, wenn ein DDEX-Anbieter nicht ihre eigene Implementierung bereitstellt und so den Fehlerzustand vermieden werden.

Ein Beispiel hierfür ist in der Praxis die IVsDataConnectionUIConnector Stützentität. Diese Stützentität enthält eine einzelne Methode, die aufgerufen wird, um eine Datenverbindung aus einem Benutzeroberfläche-Kontext zu öffnen, wie einem Datenverbindungsdialogfeld. Der typische Verwendung dieser Stützentität ist, zusätzliche Verhaltensweisen, wie überprüfen für das Vorhandensein des Datenverbindungsziels und -aufforderung hinzuzufügen, um einen neuen Datenspeicher zu erstellen, wenn er nicht gefunden wurde. Es ist ein geeigneter Standard, die Verbindung normalerweise einfach zu öffnen und spezielles nichts unternehmen. Durch diese Standardimplementierung angibt, wird Clientcode da nicht mehr Anforderungen, die Fälle einzeln zu behandeln vereinfacht, in denen der Anbieter tut oder nicht diese Stützentität implementiert, noch muss er sein eigenes Fallback, Standardimplementierung einschließen.

DDEX-Stützentitäten, die eine angemessene Standardimplementierung haben, sollte das Attribut DataDefaultObjectAttribute auf dem Typ enthalten, der die Stützentität darstellt. Dieses Attribut identifiziert eine Standardklasse, die diese Schnittstelle implementiert. Wenn sie durch einen Client angefordert wird, erstellt die DDEX-Laufzeit eine Instanz der Standardklasse, wenn keine Anbieterimplementierung verfügbar ist. Der Zweck dieser Schnittstelle, die DDEX-Laufzeit und -Clienten zu aktivieren, um zu bestimmen, ob eine bestimmte Instanz eines Objekts eine Standardimplementierung ist.

Die IVsDataDefaultObject-Schnittstelle ist hauptsächlich relevant für den DDEX-Plattformextendern h. die, die zusätzliche DDEXServiceentitäten erstellen.

Beispiele

Im folgenden Code wird die Definition der IVsDataConnectionUIConnector Stützentität an, die ein standardmäßiges Objekt-Attribut deklariert. Sie wird von der Implementierung Standardobjekte Objekts erfolgreich.

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();
    }
}

Siehe auch

Referenz

Microsoft.VisualStudio.Data.Core-Namespace