Sdílet prostřednictvím


IVsDataClientObject<T> – rozhraní

Představuje klienta wrapper objekt, která spolupracuje s základní objekt zprostředkovatele.

Obor názvů:  Microsoft.VisualStudio.Data.Core
Sestavení:  Microsoft.VisualStudio.Data.Core (v Microsoft.VisualStudio.Data.Core.dll)

Syntaxe

'Deklarace
Public Interface IVsDataClientObject(Of T As Class)
public interface IVsDataClientObject<T>
where T : class
generic<typename T>
where T : ref class
public interface class IVsDataClientObject
type IVsDataClientObject<'T when 'T : not struct> =  interface end
Jazyk JScript nepodporuje obecné typy a metody.

Parametry typu

  • T
    Typ parametru.

Typ IVsDataClientObject<T> zveřejňuje následující členy.

Metody

  Název Popis
Veřejná metoda Initialize Inicializuje objekt klienta s prováděním základní objekt zprostředkovatele.

Nahoru

Poznámky

Při volání klienta DDEX runtime DDEX vytvořit instanci entity DDEX podporu pro určitého zprostředkovatele, objekt provider obvykle vytvořen a vráceny přímo klientovi.V takovém případě klient má přímý popisovač implementace zprostředkovatele.V některých případech vhodné definovat další nebo změněné chování entity podporu při interakci s klientem uspokojení očekávání klienta bez přidání dodatečné zatížení na poskytovatele Zapisovatel vlastníkovi entity DDEX podpory.

Nejběžnějším příkladem tohoto požadavku je dodávána ve formě DDEX připojení služby jako IVsDataCommand podporují entity.Jeden cíl IVsDataConnection, objekt DDEX připojení, je pro minimalizaci režie na straně klienta tak, aby aktuálně otevřené připojení a používána jiným klientem, ale současně eliminovat potřebu o tyto problémy na straně poskytovatele.Proto služba dané připojení pravděpodobně přidružen objekt klienta, který provádí zvláštní logika zajišťující, že připojení je otevřít a správně sdílené mezi více klientů.Tato implementace obtéká základní objekt zprostředkovatele a klientovi automaticky poskytnutých DDEX runtime.

DDEX podpora entity, které mají runtime DDEX klient vrátí objekt obálky na vytváření entity poskytovatele podpory v úmyslu zahrnout DataClientObjectAttribute atribut typu představující podporu entity.Tento atribut určuje wrapper třídu, která implementuje rozhraní.Na žádost klienta, bude DDEX runtime nejprve vytvořit instanci objektu podkladové poskytovatele a vytvořte instanci třídy obálky.Účelem tohoto rozhraní je poskytovat metody pro inicializaci objektu wrapper se základní objekt zprostředkovatele.

IVsDataClientObject<T> Rozhraní je především zájmem DDEX platformy zařízení Extender, ty vytváření dalších subjektů DDEX služby a podporu.

Příklady

Následující kód ukazuje definici fiktivní podporu entita, která prohlašuje a klient atribut objektu.Tato definice následuje provádění klienta objektu, který přidá jednoduché protokolování volání na podporu entity.

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

[DataClientObject("1520C77F-09AF-40b4-B1FE-53C30A177C59")]
public interface IVsDataSupportEntity
{
    void DoSomething();
}

[Guid("1520C77F-09AF-40b4-B1FE-53C30A177C59")]
internal class ClientSupportEntity : IVsDataSupportEntity,
    IVsDataClientObject<IVsDataSupportEntity>
{
    private IVsDataSupportEntity _providerObj;

    public void Initialize(IVsDataSupportEntity providerObj)
    {
        if (providerObj == null)
        {
            throw new ArgumentNullException("providerObj");
        }
        _providerObj = providerObj;
    }

    public void DoSomething()
    {
        Trace.WriteLine("DoSomething started.");
        _providerObj.DoSomething();
        Trace.WriteLine("DoSomething finished.");
    }
}

Viz také

Referenční dokumentace

Microsoft.VisualStudio.Data.Core – obor názvů