ServiceCreatorCallback 委托
提供一种回调机制,它可以即需创建服务的实例。
**命名空间:**System.ComponentModel.Design
**程序集:**System(在 system.dll 中)
语法
声明
<ComVisibleAttribute(True)> _
Public Delegate Function ServiceCreatorCallback ( _
container As IServiceContainer, _
serviceType As Type _
) As Object
用法
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 支持使用委托,但不支持进行新的声明。
参数
- container
请求创建服务的服务容器。
- serviceType
要创建的服务的类型。
返回值
由 serviceType 指定的服务;如果未能创建服务,则为 空引用(在 Visual Basic 中为 Nothing)。
备注
ServiceCreatorCallback 提供了一种发布服务的机制,使您可以在需要时请求创建服务,而不是在加载设计器后立即创建服务。如果服务并非必不可少而且可能不会使用,则可以使用回调函数。对于使用 ServiceCreatorCallback 发布的服务,如果没有对其发出请求并将其创建,就不能将它当作多种附加资源来使用。若要使用回调函数来发布服务,请将 ServiceCreatorCallback 传递给 IServiceContainer 的 AddService 方法。
提示
应用于此类的 HostProtectionAttribute 属性 (Attribute) 具有以下 Resources 属性 (Property) 值:SharedState。HostProtectionAttribute 不影响桌面应用程序(桌面应用程序一般通过双击图标,键入命令或在浏览器中输入 URL 启动)。有关更多信息,请参见 HostProtectionAttribute 类或 SQL Server 编程和宿主保护属性。
示例
下面的代码示例演示如何使用回调函数来发布服务。
' 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);
平台
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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
请参见
参考
System.ComponentModel.Design 命名空间
AddService
IServiceContainer 接口