ObjectManager.RegisterObject メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
逆シリアル化されるときにオブジェクトを登録します。
オーバーロード
| 名前 | 説明 |
|---|---|
| RegisterObject(Object, Int64) |
逆シリアル化されるときにオブジェクトを登録し、 |
| RegisterObject(Object, Int64, SerializationInfo) |
逆シリアル化されるときにオブジェクトを登録し、 |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
逆シリアル化されるときにオブジェクトのメンバーを登録し、 |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
逆シリアル化中にオブジェクトに含まれる配列のメンバーを登録し、 |
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以外のオブジェクトに既に登録されているか、memberがFieldInfoではなく、memberがnullされていません。
注釈
objがValueTypeである場合は、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[]
objがValueTypeであり、配列のメンバーである場合、arrayIndexには、objが存在する配列内のインデックスが格納されます。
arrayIndex
objがValueTypeと配列のメンバーの両方でない場合は無視されます。
- 属性
例外
obj パラメーターはnull。
objectID パラメーターが 0 以下です。
objectIDは、obj以外のオブジェクトに既に登録されているか、memberがFieldInfoではなく、memberがnullされていません。
注釈
objがValueTypeである場合は、ValueType オブジェクトに対して修正が実行されるため、memberパラメーターとidOfContainingObj パラメーターを指定する必要があります。
ValueTypeの情報を格納する領域は、その格納オブジェクトと共にインラインで割り当てられます。 ただし、 ValueType をボックス化して ObjectManagerに登録すると、その格納オブジェクトとの接続が失われます。 ボックス化されたインスタンスではなく、包含オブジェクトに格納されている ValueType のインスタンスで修正が行われることを保証するために、 ObjectManager には追加情報が保持されます。
ObjectManager は、オブジェクトとその ID の両方に関する情報を保持します。 逆シリアル化中に後で、 GetObject を使用して、特定のオブジェクト ID が既に逆シリアル化されているかどうか、またはまだ逆シリアル化されていないオブジェクトへの前方参照であるかどうかを検出できます。