Поделиться через


IVsDataClientObject<T> - интерфейс

Представляет объект программы-оболочки клиента, который взаимодействует с основным объектом поставщика.

Пространство имен:  Microsoft.VisualStudio.Data.Core
Сборка:  Microsoft.VisualStudio.Data.Core (в Microsoft.VisualStudio.Data.Core.dll)

Синтаксис

'Декларация
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
JScript не поддерживает универсальные типы и методы.

Параметры типа

  • T
    Тип параметра.

Тип IVsDataClientObject<T> предоставляет следующие члены.

Методы

  Имя Описание
Открытый метод Initialize Инициализирует объект клиента с базовой реализацией объекта поставщика.

В начало страницы

Заметки

Когда клиент вызывает среду выполнения DDEX DDEX, чтобы создать экземпляр сущности для конкретного поставщика поддержки DDEX объект поставщика обычно создание и возвращается непосредственно клиенту.В этом случае клиент имеет непосредственно дескриптор для реализации поставщика.В некоторых случаях владелец сущности поддержки DDEX может потребоваться указать дополнительные или измененную расширения функциональности сущности поддержки при взаимодействии с клиентом, чтобы соответствовать ожиданиям клиента, не добавляя дополнительные тягота на писателе поставщика.

Самым распространенным примером этого требования поступает в форме службы подключения DDEX как сущность поддержки IVsDataCommand.Одна цель IVsDataConnection, объект соединения DDEX, свернуть издержки выполнение на стороне клиента обеспечила, что соединение в настоящий момент открыт и не используется другим клиентом, но одновременно исключила должны относиться о следующих проблемах на стороне поставщика.Поэтому данному служба подключения может иметь клиентского объекта, связанного с ним, что выполняет дополнительную логику, предоставляя соединение открыто и правильно совместно использовано среди множества клиентов.Эта реализация создает программу-оболочку основной объект поставщика и автоматически предоставляется клиенту средой выполнения DDEX.

Сущности, которые поддерживают DDEX предназначен иметь получение программы-оболочки DDEX объект среды выполнения клиента при создании сущности поддержки поставщика включать атрибут DataClientObjectAttribute на типе для представления сущности.Этот атрибут определяет класс-оболочку, которая реализует этот интерфейс.При запросе клиентом, среда выполнения DDEX вначале создается экземпляр базового объекта поставщика, а затем создает экземпляр класс-оболочки.Цель этого интерфейса указать метод для инициализации объекта программы-оболочки с основным объектом поставщика.

Интерфейс IVsDataClientObject<T> основной интерес к расширителям платформы DDEX, т е разделах создать дополнительные сущности технических служб DDEX.

Примеры

В следующем коде показано определение вымышленной сущности поддержки, которая объявляет атрибут клиентского объекта.Это определение следуют реализации клиентского объекта, который добавляет простое ведение журнала вызовов сущности поддержки.

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.");
    }
}

См. также

Ссылки

Microsoft.VisualStudio.Data.Core - пространство имен