Provides a callback mechanism that can create an instance of a service on demand.
Assembly: System (in System.dll)
[ComVisibleAttribute(true)] [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 ValueType: System::Object
The service specified by serviceType, or nullptr if the service could not be created.
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 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 to the AddService method of an IServiceContainer.
The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: SharedState. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.
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 );
Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)