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 类在设计时工具查询获取有关可用的全局对象和类型的信息。 GetGlobalObjects 和 GetGlobalTypes 方法返回包含当前可用的全局对象和全局类型集合,分别。 GlobalObjectService 由类型通常查询 IReferenceService 和 ITypeResolutionService对象。
当设计器加载程序初始化时,它会创建它与设计图面添加一个全局对象服务的一个实例。 使用任意序列化模式,这种排列,全局对象可以灵活地保持,。 在内部,全局对象服务尽以下必须:
该查询全局对象的各全局对象提供程序。 返回的每个全局对象为那些兼容序列化程序将查询,并且,如果没有找到,全局对象被放弃,因为无法对它。
它所维护全局对象表。 全局对象来自的此表跟踪提供程序。 在全局对象添加到表后,全局对象服务侦听在全局对象的事件。
当全局对象的实例之后,它将添加元数据到实例,以便序列化它。 序列化程序通过对 GetSerializer 的调用在全局对象获取。
它监视每全局对象的更改事件。 当更改事件引发时全局对象服务引发 AssemblyObsolete 事件对动态类型每个程序集的服务。 它通过一组类型到事件,因此,侦听的那些正确地了解类型有效。 这将在两个处理列表都以响应 Changing 和 Changed 事件。 ,如果设计器,在事件中包含的程序集 CodeDomDesignerLoader 监视 AssemblyObsolete 事件并重新加载设计器。
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
请参见
参考
Microsoft.VisualStudio.Shell.Design 命名空间
System.ComponentModel.Design.IReferenceService