次の方法で共有


ObjectIDGenerator クラス

オブジェクトの ID を生成します。

この型のすべてのメンバの一覧については、ObjectIDGenerator メンバ を参照してください。

System.Object
   System.Runtime.Serialization.ObjectIDGenerator

<Serializable>
Public Class ObjectIDGenerator
[C#]
[Serializable]
public class ObjectIDGenerator
[C++]
[Serializable]
public __gc class ObjectIDGenerator
[JScript]
public
   Serializable
class ObjectIDGenerator

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

ObjectIDGenerator は、以前に識別されたオブジェクトを追跡します。オブジェクトの ID を要求すると、 ObjectIDGenerator が既存の ID を返すかどうかを判断するか、または新しい ID を生成および記憶します。

ID は、 ObjectIDGenerator インスタンスの有効期間を通じて一意です。通常、 ObjectIDGenerator の有効期間は、それを作成した Formatter が有効な間、持続します。オブジェクト ID は、指定されたシリアル化ストリーム内だけで有効であり、シリアル化されたオブジェクト グラフ内のほかのオブジェクトへの参照を持つオブジェクトを追跡するために使用します。

ハッシュ テーブルを使用して、 ObjectIDGenerator は、どのオブジェクトにどの ID が割り当てられたのかを保持します。各オブジェクトを一意に識別するオブジェクト参照は、ランタイムのガベージ コレクションによって回収されたヒープのアドレスです。オブジェクト参照の値はシリアル化中に変更できますが、このテーブルは情報を正確に保つために自動的に更新されます。

メモ   オブジェクト ID は 64 ビット数値です。割り当ては 1 から始まるため、0 は有効なオブジェクト ID ではありません。フォーマッタは、値 0 が null 参照 (Visual Basic では Nothing) のオブジェクト参照を表すように選択できます。

必要条件

名前空間: System.Runtime.Serialization

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: Mscorlib (Mscorlib.dll 内)

参照

ObjectIDGenerator メンバ | System.Runtime.Serialization 名前空間 | XML シリアル化および SOAP シリアル化 | Formatter