次の方法で共有


ObjectManager.RegisterObject メソッド

定義

オブジェクトが逆シリアル化されたときに、そのオブジェクトを登録します。

オーバーロード

RegisterObject(Object, Int64)

オブジェクトが逆シリアル化されたときに、そのオブジェクトを objectID に関連付けて登録します。

RegisterObject(Object, Int64, SerializationInfo)

オブジェクトが逆シリアル化されたときに、そのオブジェクトを objectID に関連付けて登録し、そのオブジェクトと共に使用する SerializationInfo を記録します。

RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)

オブジェクトが逆シリアル化されたときに、そのオブジェクトのメンバーを objectID に関連付けて登録し、SerializationInfo を記録します。

RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])

オブジェクトが逆シリアル化されているときに、そのオブジェクトに格納された配列のメンバーを objectID に関連付けて登録し、SerializationInfo を記録します。

RegisterObject(Object, Int64)

ソース:
ObjectManager.cs
ソース:
ObjectManager.cs
ソース:
ObjectManager.cs

オブジェクトが逆シリアル化されたときに、そのオブジェクトを objectID に関連付けて登録します。

public:
 virtual void RegisterObject(System::Object ^ obj, long objectID);
public virtual void RegisterObject (object obj, long objectID);
[System.Security.SecurityCritical]
public virtual void RegisterObject (object obj, long objectID);
abstract member RegisterObject : obj * int64 -> unit
override this.RegisterObject : obj * int64 -> unit
[<System.Security.SecurityCritical>]
abstract member RegisterObject : obj * int64 -> unit
override this.RegisterObject : obj * int64 -> unit
Public Overridable Sub RegisterObject (obj As Object, objectID As Long)

パラメーター

obj
Object

登録するオブジェクト。

objectID
Int64

登録するオブジェクトの ID。

属性

例外

obj パラメーターが null です。

objectID パラメーターが 0 以下です。

objectIDobj 以外のオブジェクトに対して登録済みです。

注釈

ObjectManager は、オブジェクトとその ID の両方に関する情報を保持します。 後で逆シリアル化中に、 GetObject を使用して、特定のオブジェクト ID が既に逆シリアル化されているかどうか、またはまだ逆シリアル化されていないオブジェクトへの前方参照であるかどうかを判断できます。

適用対象

RegisterObject(Object, Int64, SerializationInfo)

ソース:
ObjectManager.cs
ソース:
ObjectManager.cs
ソース:
ObjectManager.cs

オブジェクトが逆シリアル化されたときに、そのオブジェクトを objectID に関連付けて登録し、そのオブジェクトと共に使用する SerializationInfo を記録します。

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info);
public void RegisterObject (object obj, long objectID, System.Runtime.Serialization.SerializationInfo info);
[System.Security.SecurityCritical]
public void RegisterObject (object obj, long objectID, System.Runtime.Serialization.SerializationInfo info);
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo -> unit
[<System.Security.SecurityCritical>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo -> unit
Public Sub RegisterObject (obj As Object, objectID As Long, info As SerializationInfo)

パラメーター

obj
Object

登録するオブジェクト。

objectID
Int64

登録するオブジェクトの ID。

info
SerializationInfo

objSerializationInfo を実装するか、または ISerializable を持っている場合に使用される ISerializationSurrogateinfo は、必要な任意のフィックスアップ情報によって完成され、必要なオブジェクトが完成すると、そのオブジェクトに渡されます。

属性

例外

obj パラメーターが null です。

objectID パラメーターが 0 以下です。

objectIDobj 以外のオブジェクトに対して登録済みです。

注釈

ObjectManager は、オブジェクトとその ID の両方に関する情報を保持します。 後で逆シリアル化中に を使用 GetObject して、特定のオブジェクト ID が既に逆シリアル化されているかどうか、またはまだ逆シリアル化されていないオブジェクトへの前方参照であるかどうかを検出できます。

適用対象

RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)

ソース:
ObjectManager.cs
ソース:
ObjectManager.cs
ソース:
ObjectManager.cs

オブジェクトが逆シリアル化されたときに、そのオブジェクトのメンバーを objectID に関連付けて登録し、SerializationInfo を記録します。

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info, long idOfContainingObj, System::Reflection::MemberInfo ^ member);
public void RegisterObject (object obj, long objectID, System.Runtime.Serialization.SerializationInfo? info, long idOfContainingObj, System.Reflection.MemberInfo? member);
public void RegisterObject (object obj, long objectID, System.Runtime.Serialization.SerializationInfo info, long idOfContainingObj, System.Reflection.MemberInfo member);
[System.Security.SecurityCritical]
public void RegisterObject (object obj, long objectID, System.Runtime.Serialization.SerializationInfo info, long idOfContainingObj, System.Reflection.MemberInfo member);
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo -> unit
[<System.Security.SecurityCritical>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo -> unit
Public Sub RegisterObject (obj As Object, objectID As Long, info As SerializationInfo, idOfContainingObj As Long, member As MemberInfo)

パラメーター

obj
Object

登録するオブジェクト。

objectID
Int64

登録するオブジェクトの ID。

info
SerializationInfo

objSerializationInfo を実装するか、または ISerializable を持っている場合に使用される ISerializationSurrogateinfo は、必要な任意のフィックスアップ情報によって完成され、必要なオブジェクトが完成すると、そのオブジェクトに渡されます。

idOfContainingObj
Int64

obj を格納するオブジェクトの ID。 このパラメーターは、obj が値型の場合にだけ必要です。

member
MemberInfo

obj が存在するコンテナーとなるオブジェクト内のフィールド。 このパラメーターは、obj が値型の場合にだけ有効です。

属性

例外

obj パラメーターが null です。

objectID パラメーターが 0 以下です。

objectIDobj 以外のオブジェクトに登録済みです。または、memberFieldInfo ではなく、membernull でもありません。

注釈

が の場合ValueTypeobjは、 パラメーターと idOfContainingObj パラメーターを指定memberする必要があります。これは、オブジェクトに対してValueType修正が実行される方法が原因です。 の情報 ValueType を格納する領域は、その格納オブジェクトと共にインラインで割り当てられます。 ただし、 が に登録されるようにボックス化されるとValueTypeObjectManager、その包含オブジェクトとの接続が失われます。 は、ボックス化されたインスタンス ValueType ではなく、格納されている オブジェクトに格納されている のインスタンスで修正が行われることを保証するために、 ObjectManager 追加情報を保持します。

ObjectManager は、オブジェクトとその ID の両方に関する情報を保持します。 後で逆シリアル化中に、 を使用して、 GetObject 特定のオブジェクト ID が既に逆シリアル化されているかどうか、またはまだ逆シリアル化されていないオブジェクトへの前方参照であるかどうかを検出できます。

適用対象

RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])

ソース:
ObjectManager.cs
ソース:
ObjectManager.cs
ソース:
ObjectManager.cs

オブジェクトが逆シリアル化されているときに、そのオブジェクトに格納された配列のメンバーを objectID に関連付けて登録し、SerializationInfo を記録します。

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info, long idOfContainingObj, System::Reflection::MemberInfo ^ member, cli::array <int> ^ arrayIndex);
public void RegisterObject (object obj, long objectID, System.Runtime.Serialization.SerializationInfo? info, long idOfContainingObj, System.Reflection.MemberInfo? member, int[]? arrayIndex);
public void RegisterObject (object obj, long objectID, System.Runtime.Serialization.SerializationInfo info, long idOfContainingObj, System.Reflection.MemberInfo member, int[] arrayIndex);
[System.Security.SecurityCritical]
public void RegisterObject (object obj, long objectID, System.Runtime.Serialization.SerializationInfo info, long idOfContainingObj, System.Reflection.MemberInfo member, int[] arrayIndex);
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo * int[] -> unit
[<System.Security.SecurityCritical>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo * int[] -> unit
Public Sub RegisterObject (obj As Object, objectID As Long, info As SerializationInfo, idOfContainingObj As Long, member As MemberInfo, arrayIndex As Integer())

パラメーター

obj
Object

登録するオブジェクト。

objectID
Int64

登録するオブジェクトの ID。

info
SerializationInfo

objSerializationInfo を実装するか、または ISerializable を持っている場合に使用される ISerializationSurrogateinfo は、必要な任意のフィックスアップ情報によって完成され、必要なオブジェクトが完成すると、そのオブジェクトに渡されます。

idOfContainingObj
Int64

obj を格納するオブジェクトの ID。 このパラメーターは、obj が値型の場合にだけ必要です。

member
MemberInfo

obj が存在するコンテナーとなるオブジェクト内のフィールド。 このパラメーターは、obj が値型の場合にだけ有効です。

arrayIndex
Int32[]

objValueType および配列のメンバーである場合arrayIndexobj が存在する配列内のインデックスを格納します。 arrayIndexValueType および配列のメンバーのいずれでもない場合、obj は無視されます。

属性

例外

obj パラメーターが null です。

objectID パラメーターが 0 以下です。

objectIDobj 以外のオブジェクトに登録済みです。または、memberFieldInfo ではなく、membernull でもありません。

注釈

が の場合ValueTypeobjは、 パラメーターと idOfContainingObj パラメーターを指定memberする必要があります。これは、オブジェクトに対してValueType修正が実行される方法が原因です。 の情報 ValueType を格納する領域は、その格納オブジェクトと共にインラインで割り当てられます。 ただし、 が に登録されるようにボックス化されるとValueTypeObjectManager、その包含オブジェクトとの接続が失われます。 は、ボックス化されたインスタンス ValueType ではなく、格納されている オブジェクトに格納されている のインスタンスで修正が行われることを保証するために、 ObjectManager 追加情報を保持します。

ObjectManager は、オブジェクトとその ID の両方に関する情報を保持します。 後で逆シリアル化中に、 を使用して、 GetObject 特定のオブジェクト ID が既に逆シリアル化されているかどうか、またはまだ逆シリアル化されていないオブジェクトへの前方参照であるかどうかを検出できます。

適用対象