GlobalObjectService 类

维护全局对象提供程序当前表。 此类不能被继承。

此 API 不兼容 CLS。 

继承层次结构

System.Object
  Microsoft.VisualStudio.Shell.Design.GlobalObjectService

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

语法

声明
<CLSCompliantAttribute(False)> _
Public NotInheritable Class GlobalObjectService _
    Implements IDisposable
[CLSCompliantAttribute(false)]
public sealed class GlobalObjectService : IDisposable

GlobalObjectService 类型公开以下成员。

构造函数

  名称 说明
公共方法 GlobalObjectService 初始化 GlobalObjectService 类的新实例。

页首

方法

  名称 说明
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
公共方法 GetGlobalObjects() 返回所有当前可用的全局对象的集合。
公共方法 GetGlobalObjects(Type) 返回为指定的类型当前可用的全局对象的集合。
公共方法 GetGlobalTypes 返回当前可用的全局类型的集合。
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IDisposable.Dispose 释放 GlobalObjectService。

页首

备注

GlobalObjectService 类在设计时工具查询获取有关可用的全局对象和类型的信息。 GetGlobalObjectsGetGlobalTypes 方法返回包含当前可用的全局对象和全局类型集合,分别。 GlobalObjectService 由类型通常查询 IReferenceServiceITypeResolutionService对象。

当设计器加载程序初始化时,它会创建它与设计图面添加一个全局对象服务的一个实例。 使用任意序列化模式,这种排列,全局对象可以灵活地保持,。 在内部,全局对象服务尽以下必须:

  • 该查询全局对象的各全局对象提供程序。 返回的每个全局对象为那些兼容序列化程序将查询,并且,如果没有找到,全局对象被放弃,因为无法对它。

  • 它所维护全局对象表。 全局对象来自的此表跟踪提供程序。 在全局对象添加到表后,全局对象服务侦听在全局对象的事件。

  • 当全局对象的实例之后,它将添加元数据到实例,以便序列化它。 序列化程序通过对 GetSerializer 的调用在全局对象获取。

  • 它监视每全局对象的更改事件。 当更改事件引发时全局对象服务引发 AssemblyObsolete 事件对动态类型每个程序集的服务。 它通过一组类型到事件,因此,侦听的那些正确地了解类型有效。 这将在两个处理列表都以响应 ChangingChanged 事件。 ,如果设计器,在事件中包含的程序集 CodeDomDesignerLoader 监视 AssemblyObsolete 事件并重新加载设计器。

线程安全

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

请参见

参考

Microsoft.VisualStudio.Shell.Design 命名空间

GlobalObject

GlobalType

GlobalObjectProvider

GlobalObjectProviderFactory

System.ComponentModel.Design.IReferenceService

System.ComponentModel.Design.ITypeResolutionService

CodeDomDesignerLoader