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)

オブジェクトが逆シリアル化されたときに、そのオブジェクトを 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)

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

適用対象

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

オブジェクトが逆シリアル化されたときに、そのオブジェクトのメンバーを 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 でもありません。

注釈

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

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

適用対象

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

オブジェクトが逆シリアル化されているときに、そのオブジェクトに格納された配列のメンバーを 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 でもありません。

注釈

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

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

適用対象