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


ServiceCreatorCallback Делегат

Определение

Предоставляет механизм обратного вызова, с помощью которого выполняется создание экземпляра службы по запросу.

public delegate System::Object ^ ServiceCreatorCallback(IServiceContainer ^ container, Type ^ serviceType);
public delegate object ServiceCreatorCallback(IServiceContainer container, Type serviceType);
public delegate object? ServiceCreatorCallback(IServiceContainer container, Type serviceType);
[System.Runtime.InteropServices.ComVisible(true)]
public delegate object ServiceCreatorCallback(IServiceContainer container, Type serviceType);
type ServiceCreatorCallback = delegate of IServiceContainer * Type -> obj
[<System.Runtime.InteropServices.ComVisible(true)>]
type ServiceCreatorCallback = delegate of IServiceContainer * Type -> obj
Public Delegate Function ServiceCreatorCallback(container As IServiceContainer, serviceType As Type) As Object 

Параметры

container
IServiceContainer

Контейнер служб, выдающий запрос на создание службы.

serviceType
Type

Тип создаваемой службы.

Возвращаемое значение

Служба, заданная параметром serviceType, либо значение null, если не удалось выполнить создание службы.

Атрибуты

Примеры

В следующем примере кода показано, как опубликовать службу с помощью функции обратного вызова.

// The following code shows how to publish a service using a callback function.
// Creates a service creator callback.
ServiceCreatorCallback^ callback1 =
   gcnew ServiceCreatorCallback( this, &Sample::myCallBackMethod );

// Adds the service using its type and the service creator callback.
serviceContainer->AddService( myService::typeid, callback1 );
// The following code shows how to publish a service using a callback function.

// Creates a service creator callback.
ServiceCreatorCallback callback1 = 
new ServiceCreatorCallback(myCallBackMethod);

// Adds the service using its type and the service creator callback.
serviceContainer.AddService(typeof(myService), callback1);
' The following code shows how to publish a service using a callback function.

' Creates a service creator callback.
Dim callback1 As New ServiceCreatorCallback _
(AddressOf myCallBackMethod)
       
' Adds the service using its type and the service creator.
serviceContainer.AddService(GetType(myService), callback1)

Комментарии

ServiceCreatorCallback предоставляет механизм публикации служб, созданных при необходимости, а не сразу при загрузке конструктора. Функцию обратного вызова можно использовать, если служба не является необходимой и не может использоваться. Служба, опубликованная с помощью , ServiceCreatorCallback не использует столько дополнительных ресурсов, если она не запрошена и не создана. Чтобы использовать функцию обратного IServiceContainerвызова для публикации службы, передайте ServiceCreatorCallbackAddService в метод .

Методы расширения

GetMethodInfo(Delegate)

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

Применяется к

См. также раздел