Freigeben über


ServiceCreatorCallback-Delegat

Stellt einen Rückrufmechanismus bereit, der bei Bedarf eine Instanz eines Dienstes erstellen kann.

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

Syntax

'Declaration
<ComVisibleAttribute(True)> _
Public Delegate Function ServiceCreatorCallback ( _
    container As IServiceContainer, _
    serviceType As Type _
) As Object
'Usage
Dim instance As New ServiceCreatorCallback(AddressOf HandlerMethod)
[ComVisibleAttribute(true)] 
public delegate Object ServiceCreatorCallback (
    IServiceContainer container,
    Type serviceType
)
[ComVisibleAttribute(true)] 
public delegate Object^ ServiceCreatorCallback (
    IServiceContainer^ container, 
    Type^ serviceType
)
/** @delegate */
/** @attribute ComVisibleAttribute(true) */ 
public delegate Object ServiceCreatorCallback (
    IServiceContainer container, 
    Type serviceType
)
JScript unterstützt die Verwendung von Delegaten, aber nicht die Deklaration von neuen Delegaten.

Parameter

  • container
    Der Dienstcontainer, der die Erstellung des Dienstes angefordert hat.
  • serviceType
    Der Typ des zu erstellenden Dienstes.

Rückgabewert

Der durch serviceType angegebene Dienst oder NULL (Nothing in Visual Basic), wenn der Dienst nicht erstellt werden konnte.

Hinweise

ServiceCreatorCallback stellt ein Verfahren zur Veröffentlichung von Diensten bereit, deren Erstellung Sie bei Bedarf anfordern können. Der Dienst muss dann nicht unmittelbar beim Laden des Designers erstellt werden. Sie können eine Rückruffunktion verwenden, wenn der Dienst nicht unverzichtbar ist und möglicherweise nicht verwendet wird. Ein über einen ServiceCreatorCallback veröffentlichter Dienst benötigt weniger zusätzliche Ressourcen, wenn er nicht angefordert und nicht erstellt wird. Übergeben Sie zum Veröffentlichen eines Dienstes über eine Rückruffunktion einen ServiceCreatorCallback an die AddService-Methode eines IServiceContainer.

Hinweis

Das auf diese Klasse angewendete HostProtectionAttribute-Attribut besitzt den Resources-Eigenschaftenwert SharedState. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder eines URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie ein Dienst mithilfe einer Rückruffunktion veröffentlicht wird.

' 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)
// 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.
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(MyService.class.ToType(), callBack1);

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

System.ComponentModel.Design-Namespace
AddService
IServiceContainer-Schnittstelle