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


ServiceProvider - класс

Предоставляет объект, который может proffer службы с помощью и управляемых и неуправляемых интерфейсов IServiceProvider.

Иерархия наследования

System.Object
  Microsoft.VisualStudio.Data.Framework.ServiceProvider
    Microsoft.VisualStudio.Data.Framework.DataSiteableServiceProvider<T>

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

Синтаксис

'Декларация
<ComVisibleAttribute(True)> _
Public Class ServiceProvider _
    Implements IServiceContainer, IServiceProvider, IServiceProvider
[ComVisibleAttribute(true)]
public class ServiceProvider : IServiceContainer, 
    IServiceProvider, IServiceProvider
[ComVisibleAttribute(true)]
public ref class ServiceProvider : IServiceContainer, 
    IServiceProvider, IServiceProvider
[<ComVisibleAttribute(true)>]
type ServiceProvider =  
    class
        interface IServiceContainer
        interface IServiceProvider
        interface IServiceProvider
    end
public class ServiceProvider implements IServiceContainer, IServiceProvider, IServiceProvider

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

Конструкторы

  Имя Описание
Открытый метод ServiceProvider() Инициализирует новый экземпляр управляемого или неуправляемого IServiceProvider.
Открытый метод ServiceProvider(IServiceProvider) Создает программу-оболочку неуправляемый интерфейс IServiceProvider, который доступен через управляемый интерфейс IServiceProvider.
Открытый метод ServiceProvider(IServiceProvider) Инициализирует новый экземпляр IServiceProvider неуправляемого интерфейса.

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

Свойства

  Имя Описание
Защищенное свойство ParentProvider Возвращает текущий экземпляр родительского поставщика услуг.

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

Методы

  Имя Описание
Открытый метод AddService(Type, ServiceCreatorCallback) Добавляет указанную службу к внутренней коллекции служб.
Открытый метод AddService(Type, Object) Добавляет указанную службу к внутренней коллекции служб.
Открытый метод AddService(Type, ServiceCreatorCallback, Boolean) Добавляет указанную службу к внутренней коллекции служб или родительский контейнер служб.
Открытый метод AddService(Type, Object, Boolean) Добавляет указанную службу к коллекции объектов службы или на родительский контейнер служб.
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Открытый метод GetService(Guid) Получает службу с идентификатором GUID указанной службы.
Открытый метод GetService(Type) Возвращает службу указанного типа.
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Открытый метод RemoveService(Type) Удаляет указанную службу из внутренней коллекции служб
Открытый метод RemoveService(Type, Boolean) Удаляет указанную службу из внутренней коллекции служб или от родительского контейнера службы.
Открытый метод ToString Возвращает строку, которая представляет текущий объект. (Унаследовано от Object.)

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

Явные реализации интерфейса

  Имя Описание
Явная реализация интерфейсаЗакрытый метод IServiceProvider.QueryService Выполняет в качестве фабрики для служб, предоставлены через реализацию IServiceProvider.

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

Заметки

ПримечаниеПримечание

В блоке синтаксиса выше наследование класса являются производными и из управляемых и неуправляемых интерфейсов IServiceProvider.То есть первое (автономного) является производным от интерфейса IServiceProvider (управляемый код) и второго является производным от IServiceProvider.

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

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

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

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