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 以下です。

objectIDは、obj以外のオブジェクトに既に登録されています。

注釈

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

SerializationInfo obj ISerializableを実装する場合、またはISerializationSurrogateがある場合に使用されます。 info は、必要な修正情報を使用して完了し、そのオブジェクトが完了したときに必要なオブジェクトに渡されます。

属性

例外

obj パラメーターはnull

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

objectIDは、obj以外のオブジェクトに既に登録されています。

注釈

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

適用対象

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);
[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

SerializationInfo obj ISerializableを実装する場合、またはISerializationSurrogateがある場合に使用されます。 info は、必要な修正情報を使用して完了し、そのオブジェクトが完了したときに必要なオブジェクトに渡されます。

idOfContainingObj
Int64

objを含むオブジェクトの ID。 このパラメーターは、 obj が値型の場合にのみ必要です。

member
MemberInfo

objが存在する、包含オブジェクト内のフィールド。 このパラメーターは、 obj が値型の場合にのみ意味を持ちます。

属性

例外

obj パラメーターはnull

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

objectIDは、obj以外のオブジェクトに既に登録されているか、memberFieldInfoではなく、membernullされていません。

注釈

objValueTypeである場合は、ValueType オブジェクトに対して修正が実行されるため、memberパラメーターとidOfContainingObj パラメーターを指定する必要があります。 ValueTypeの情報を格納する領域は、その格納オブジェクトと共にインラインで割り当てられます。 ただし、 ValueType をボックス化して ObjectManagerに登録すると、その格納オブジェクトとの接続が失われます。 ボックス化されたインスタンスではなく、包含オブジェクトに格納されている 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);
[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

SerializationInfo obj ISerializableを実装する場合、またはISerializationSurrogateがある場合に使用されます。 info は、必要な修正情報を使用して完了し、そのオブジェクトが完了したときに必要なオブジェクトに渡されます。

idOfContainingObj
Int64

objを含むオブジェクトの ID。 このパラメーターは、 obj が値型の場合にのみ必要です。

member
MemberInfo

objが存在する、包含オブジェクト内のフィールド。 このパラメーターは、 obj が値型の場合にのみ意味を持ちます。

arrayIndex
Int32[]

objValueTypeであり、配列のメンバーである場合、arrayIndexには、objが存在する配列内のインデックスが格納されます。 arrayIndex objValueTypeと配列のメンバーの両方でない場合は無視されます。

属性

例外

obj パラメーターはnull

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

objectIDは、obj以外のオブジェクトに既に登録されているか、memberFieldInfoではなく、membernullされていません。

注釈

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

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

適用対象