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


IVsDataProviderObjectFactory - интерфейс

Предоставляет возможность создания реализации поставщика DDEX сущностей поддержки.

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

Синтаксис

'Декларация
Public Interface IVsDataProviderObjectFactory
public interface IVsDataProviderObjectFactory
public interface class IVsDataProviderObjectFactory
type IVsDataProviderObjectFactory =  interface end
public interface IVsDataProviderObjectFactory

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

Методы

  Имя Описание
Открытый метод CreateObject Создает экземпляр заданной сущности поддержки DDEX, которая реализуется поставщиком DDEX.
Открытый метод GetAssembly Разрешает строка определенной сборки поставщик- к соответствующему представлению Assembly.
Открытый метод GetType Разрешает имя типа поставщик- конкретных к соответствующему представлению Type.

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

Заметки

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

Поставщик DDEX может реализовать этот интерфейс явно или неявно.Неявная реализация происходит, когда поставщик на основе реестра и DDEX является встроенной реализацией интерфейса считывает различные разделы реестра, которые описывают создание сущности.Явная реализация происходит, когда поставщик на основе DDEX пакета и proffered экземпляр этого интерфейса в качестве службы на реализации пакета Visual Studio поставщика.Первое наиболее гибкие; последние наиболее гибкие.Первое предпочтительный подход, если последний требуется.

Примеры

В следующем коде показано, как пакет- DDEX на поставщик может реализовать этот интерфейс с поддержкой нескольких стандартных сущностей поддержки.Он использует базовую реализацию интерфейса, который определен в сборке платформы DDEX.

using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Framework;
using Microsoft.VisualStudio.Data.Services;
using Microsoft.VisualStudio.Data.Services.SupportEntities;

internal class MyProviderObjectFactory : DataProviderObjectFactory
{
    public override object CreateObject(Type objType)
    {
        if (objType == null)
        {
            throw new ArgumentNullException("objType");
        }
        if (objType == typeof(IVsDataConnectionProperties))
        {
            return new MyConnectionProperties();
        }
        if (objType == typeof(IVsDataConnectionSupport))
        {
            return new MyConnectionSupport();
        }
        return null;
    }
}

internal class MyConnectionProperties : DataConnectionProperties
{
}

internal class MyConnectionSupport : IVsDataConnectionSupport
{
    // Implement the interface methods

    public void Initialize(object providerObj) {}
    public bool Open(bool doPromptCheck) {return true;}
    public void Close() {}
    public string ConnectionString { get {return "";} set {} }
    public int ConnectionTimeout { get {return 0;} set {} }
    public DataConnectionState State { get {return DataConnectionState.Closed;} }
    public object ProviderObject { get {return null;} }

    // Inherited from System.IServiceProvider 
    public Object GetService(Type serviceType) {return null;}

    // Inherited from System.IDisposable
    public void Dispose() {}

}

См. также

Ссылки

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