ServiceCreatorCallback Delegate


Provides a callback mechanism that can create an instance of a service on demand.

Namespace:   System.ComponentModel.Design
Assembly:  System (in System.dll)

[HostProtectionAttribute(SecurityAction::LinkDemand, SharedState = true)]
public delegate Object^ ServiceCreatorCallback(
	IServiceContainer^ container,
	Type^ serviceType


Type: System.ComponentModel.Design::IServiceContainer^

The service container that requested the creation of the service.

Type: System::Type^

The type of service to create.

Return Value

Type: System::Object^

The service specified by serviceType, or null if the service could not be created.

ServiceCreatorCallback provides a mechanism to publish services that you can request to have created when needed, rather than the service being created immediately when the designer loads. You can use a callback function if the service is not essential and may not be used. A service published by using a ServiceCreatorCallback does not use as many additional resources if it is not requested and created. To use a callback function to publish your service, pass a ServiceCreatorCallback to the AddService method of an IServiceContainer.

The following code example shows how to publish a service using a callback function.

// 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 );

.NET Framework
Available since 1.1
Return to top