ObjectIDGenerator ObjectIDGenerator ObjectIDGenerator ObjectIDGenerator Class


オブジェクトの ID を生成します。Generates IDs for objects.

public ref class ObjectIDGenerator
public class ObjectIDGenerator
type ObjectIDGenerator = class
Public Class ObjectIDGenerator


ObjectIDGenerator 、以前に特定されたオブジェクトを追跡します。The ObjectIDGenerator keeps track of previously identified objects. オブジェクトの id を要求すると、は、既存ObjectIDGeneratorの id を返すか、新しい id を生成して記憶するかを認識します。When you ask for the ID of an object, the ObjectIDGenerator knows whether to return the existing ID, or generate and remember a new ID.

Id は、 ObjectIDGeneratorインスタンスの有効期間にわたって一意です。The IDs are unique for the life of the ObjectIDGenerator instance. 一般に、 ObjectIDGenerator有効期間は、 Formatterそれを作成したと同じ長さになります。Generally, a ObjectIDGenerator life lasts as long as the Formatter that created it. オブジェクト Id は、特定のシリアル化されたストリーム内でのみ意味を持ち、シリアル化されたオブジェクトグラフ内の他のオブジェクトへの参照を持つオブジェクトを追跡するために使用されます。Object IDs have meaning only within a given serialized stream, and are used for tracking which objects have references to others within the serialized object graph.

ではObjectIDGenerator 、ハッシュテーブルを使用して、どの ID がどのオブジェクトに割り当てられているかを保持します。Using a hash table, the ObjectIDGenerator retains which ID is assigned to which object. 各オブジェクトを一意に識別するオブジェクト参照は、ランタイムのガベージコレクションヒープ内のアドレスです。The object references, which uniquely identify each object, are addresses in the runtime garbage-collected heap. オブジェクト参照の値はシリアル化中に変更される可能性がありますが、情報が正しいようにテーブルが自動的に更新されます。Object reference values can change during serialization, but the table is updated automatically so the information is correct.

オブジェクト Id は、64ビットの数値です。Object IDs are 64-bit numbers. 割り当ては1から開始されるため、0は有効なオブジェクト ID ではありません。Allocation starts from one, so zero is never a valid object ID. フォーマッタは、値がでnullあるオブジェクト参照を表すゼロ値を選択できます。A formatter can choose a zero value to represent an object reference whose value is null.


ObjectIDGenerator() ObjectIDGenerator() ObjectIDGenerator() ObjectIDGenerator()

ObjectIDGenerator クラスの新しいインスタンスを初期化します。Initializes a new instance of the ObjectIDGenerator class.


Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetId(Object, Boolean) GetId(Object, Boolean) GetId(Object, Boolean) GetId(Object, Boolean)

指定したオブジェクトの ID を返します。指定したオブジェクトが ObjectIDGenerator によってまだ識別されていなかった場合は、新しい ID を生成します。Returns the ID for the specified object, generating a new ID if the specified object has not already been identified by the ObjectIDGenerator.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
HasId(Object, Boolean) HasId(Object, Boolean) HasId(Object, Boolean) HasId(Object, Boolean)

オブジェクトに ID が既に割り当てられていたかどうかを確認します。Determines whether an object has already been assigned an ID.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)