ServiceManager 类

表示与 EditingContext 关联的行为。

继承层次结构

System.Object
  Microsoft.Windows.Design.ServiceManager

命名空间:  Microsoft.Windows.Design
程序集:  Microsoft.Windows.Design.Extensibility(在 Microsoft.Windows.Design.Extensibility.dll 中)

语法

声明
Public MustInherit Class ServiceManager _
    Implements IServiceProvider, IEnumerable(Of Type),  _
    IEnumerable
public abstract class ServiceManager : IServiceProvider, 
    IEnumerable<Type>, IEnumerable
public ref class ServiceManager abstract : IServiceProvider, 
    IEnumerable<Type^>, IEnumerable
[<AbstractClass>]
type ServiceManager =  
    class
        interface IServiceProvider
        interface IEnumerable<Type>
        interface IEnumerable
    end
public abstract class ServiceManager implements IServiceProvider, IEnumerable<Type>, IEnumerable

ServiceManager 类型公开以下成员。

构造函数

  名称 说明
受保护的方法 ServiceManager 初始化 ServiceManager 类的新实例。

页首

方法

  名称 说明
公共方法 Contains(Type) 当在派生类中重写时,确定 ServiceManager 是否包含指定类型的服务。
公共方法 Contains<TServiceType>() 确定 ServiceManager 是否包含指定类型的服务。
公共方法 Equals 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GetEnumerator 当在派生类中重写时,检索此 ServiceManager 的已发布服务的枚举器。
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetRequiredService<TServiceType> 检索指定类型的服务的实例。
公共方法 GetService(Type) 当在派生类中重写时,检索指定类型的服务的实例。
公共方法 GetService<TServiceType>() 检索指定泛型类型的服务的实例。
受保护的方法静态成员 GetTarget 一种帮助器方法,用来获取委托的目标对象。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 Publish(Type, PublishServiceCallback) 当在派生类中重写时,发布由指定方法表示的指定类型的服务。
公共方法 Publish(Type, Object) 当在派生类中重写时,发布指定类型的指定服务实例。
公共方法 Publish<TServiceType>(TServiceType) 发布指定类型的指定服务实例。
公共方法 Publish<TServiceType>(PublishServiceCallback<TServiceType>) 发布由指定方法表示的指定类型的服务。
受保护的方法静态成员 RemoveCallback 从委托中移除回调方法。
公共方法 Subscribe(Type, SubscribeServiceCallback) 当在派生类中重写时,请求在指定类型的服务可用时调用指定的方法。
公共方法 Subscribe<TServiceType>(SubscribeServiceCallback<TServiceType>) 请求在指定类型的服务可用时调用指定的方法。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)
公共方法 Unsubscribe(Type, SubscribeServiceCallback) 当在派生类中重写时,请求在指定类型的服务可用时不再调用指定的方法。
公共方法 Unsubscribe<TServiceType>(SubscribeServiceCallback<TServiceType>) 请求在指定类型的服务可用时不再调用指定的方法。

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IEnumerable.GetEnumerator 基础结构。有关此成员的说明,请参见 GetEnumerator

页首

备注

EditingContext 类提供对以下两段状态的访问:

行为服务是通过 Services 属性访问的,该属性返回 ServiceManager 的一个实例。

ServiceManager 是抽象类。 您可以通过从 EditingContext 派生并重写 CreateServiceManager 来提供自己的实现。

EditingContext 中创建了某个服务之后,该服务将始终存在。 服务不能从 EditingContext 中移除。

服务具有一致的实例值,因此始终可以缓存它们。

代码可以使用 ServiceManager 发布新服务,并在特定的服务可用时订阅回调。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.Windows.Design 命名空间

其他资源

WPF 设计器扩展性