ObjectIDGenerator 类

生成对象的 ID。

**命名空间:**System.Runtime.Serialization
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class ObjectIDGenerator
用法
Dim instance As ObjectIDGenerator
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class ObjectIDGenerator
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class ObjectIDGenerator
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class ObjectIDGenerator
SerializableAttribute 
ComVisibleAttribute(true) 
public class ObjectIDGenerator

备注

ObjectIDGenerator 跟踪先前识别的对象。当您请求对象的 ID 时,ObjectIDGenerator 知道是否返回现有的 ID 或生成和记忆新的 ID。

ID 在 ObjectIDGenerator 实例的整个生存期中都是唯一的。通常,ObjectIDGenerator 的生存期与创建它的 Formatter 相同。对象 ID 只有在给定的序列化流才有意义,它们用于跟踪哪些对象具有对序列化对象图形中其他对象的引用。

利用哈希表,ObjectIDGenerator 保留有关将哪个 ID 分配给哪个对象的信息。唯一标识每个对象的对象引用是运行库垃圾回收堆中的地址。对象引用值可以在序列化过程中更改,但哈希表会自动进行更新,以确保信息正确。

对象 ID 是 64 位的数字。分配从一开始,因此零决不会是有效的对象 ID。格式化程序可以选择零值来表示值为 空引用(在 Visual Basic 中为 Nothing) 的对象引用。

继承层次结构

System.Object
  System.Runtime.Serialization.ObjectIDGenerator

线程安全

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

平台

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

请参见

参考

ObjectIDGenerator 成员
System.Runtime.Serialization 命名空间
Formatter 类

其他资源

XML 和 SOAP 序列化