Condividi tramite


Interfaccia IVsDataDefaultObject

Rappresenta l'implementazione predefinita di un'entità di supporto di DDEX.

Spazio dei nomi:  Microsoft.VisualStudio.Data.Core
Assembly:  Microsoft.VisualStudio.Data.Core (in Microsoft.VisualStudio.Data.Core.dll)

Sintassi

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

Note

Quando un client di DDEX chiama il runtime di DDEX per creare un'istanza di un oggetto di supporto di DDEX per un particolare, il provider viene eseguita una query per determinare se supporta l'entità e, in caso affermativo, un'istanza viene creata e restituita. Se il provider non supporta l'entità, la chiamata per impostazione predefinita genera un'eccezione o restituisce nullriferimento null (Nothing in Visual Basic), come il percorso del codice. Tuttavia, in alcuni casi, i proprietari di supporto di DDEX possono presentare un'implementazione predefinita ragionevole che desiderano fornire ai client quando un provider di DDEX non fornisce la propria implementazione, quindi evitanti la condizione di errore.

Un esempio è rappresentato in pratica è l'entità di supporto IVsDataConnectionUIConnector. Questa entità di supporto contiene un singolo metodo chiamato per aprire una connessione dati da un contesto dell'interfaccia utente, ad esempio una finestra di dialogo di connessione dati. L'utilizzo tipico di questa entità di supporto è aggiungere il comportamento aggiuntivo, come verificare l'esistenza di destinazione della connessione dati e richiedere per creare un nuovo archivio dati se non è stato trovato. Tuttavia, l'impostazione predefinita è ragionevole di aprire semplicemente la connessione in genere e di eseguire alcuna operazione speciale. Specificando questa implementazione predefinita, il codice client è semplificato in quanto più necessario gestire separatamente i casi in cui il provider esegue o non implementa questa entità di supporto, né deve includere il proprio fallback, l'implementazione predefinita.

Le entità del supporto tecnico DDEX che presentano un'implementazione predefinita ragionevole devono includere l'attributo DataDefaultObjectAttribute il tipo che rappresenta l'entità di supporto. Questo attributo identifica una classe predefinita che implementa. Una volta richieste da un client, il runtime di DDEX creeranno un'istanza della classe predefinita se non esiste alcuna implementazione del provider disponibile. Lo scopo di questa interfaccia è di consentire al runtime e ai client di DDEX per determinare se una determinata istanza di un oggetto è un'implementazione predefinita.

L'interfaccia IVsDataDefaultObject è principalmente di interesse alle estensioni di piattaforma di DDEX, ovvero, quelle che creano servizi aggiuntivi di DDEX e le entità di supporto.

Esempi

Il codice seguente viene illustrata la definizione di supporto IVsDataConnectionUIConnector che dichiara un attributo di oggetto predefinito. Viene seguita dall'implementazione di questo oggetto predefinito.

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

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Data.Core