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)
- ソース:
- 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 以下です。
objectID
は obj
以外のオブジェクトに対して登録済みです。
注釈
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
obj
が SerializationInfo を実装するか、または ISerializable を持っている場合に使用される ISerializationSurrogate。
info
は、必要な任意のフィックスアップ情報によって完成され、必要なオブジェクトが完成すると、そのオブジェクトに渡されます。
- 属性
例外
obj
パラメーターが null
です。
objectID
パラメーターが 0 以下です。
objectID
は obj
以外のオブジェクトに対して登録済みです。
注釈
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
obj
が SerializationInfo を実装するか、または ISerializable を持っている場合に使用される ISerializationSurrogate。
info
は、必要な任意のフィックスアップ情報によって完成され、必要なオブジェクトが完成すると、そのオブジェクトに渡されます。
- idOfContainingObj
- Int64
obj
を格納するオブジェクトの ID。 このパラメーターは、obj
が値型の場合にだけ必要です。
- member
- MemberInfo
obj
が存在するコンテナーとなるオブジェクト内のフィールド。 このパラメーターは、obj
が値型の場合にだけ有効です。
- 属性
例外
obj
パラメーターが null
です。
objectID
パラメーターが 0 以下です。
objectID
が obj
以外のオブジェクトに登録済みです。または、member
が FieldInfo ではなく、member
が null
でもありません。
注釈
が の場合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
obj
が SerializationInfo を実装するか、または ISerializable を持っている場合に使用される ISerializationSurrogate。
info
は、必要な任意のフィックスアップ情報によって完成され、必要なオブジェクトが完成すると、そのオブジェクトに渡されます。
- idOfContainingObj
- Int64
obj
を格納するオブジェクトの ID。 このパラメーターは、obj
が値型の場合にだけ必要です。
- member
- MemberInfo
obj
が存在するコンテナーとなるオブジェクト内のフィールド。 このパラメーターは、obj
が値型の場合にだけ有効です。
- arrayIndex
- Int32[]
obj
が ValueType および配列のメンバーである場合arrayIndex
は obj
が存在する配列内のインデックスを格納します。
arrayIndex
が ValueType および配列のメンバーのいずれでもない場合、obj
は無視されます。
- 属性
例外
obj
パラメーターが null
です。
objectID
パラメーターが 0 以下です。
objectID
が obj
以外のオブジェクトに登録済みです。または、member
が FieldInfo ではなく、member
が null
でもありません。
注釈
が の場合ValueTypeobj
は、 パラメーターと idOfContainingObj
パラメーターを指定member
する必要があります。これは、オブジェクトに対してValueType修正が実行される方法が原因です。 の情報 ValueType を格納する領域は、その格納オブジェクトと共にインラインで割り当てられます。 ただし、 が に登録されるようにボックス化されるとValueTypeObjectManager、その包含オブジェクトとの接続が失われます。 は、ボックス化されたインスタンス ValueType ではなく、格納されている オブジェクトに格納されている のインスタンスで修正が行われることを保証するために、 ObjectManager 追加情報を保持します。
ObjectManager は、オブジェクトとその ID の両方に関する情報を保持します。 後で逆シリアル化中に、 を使用して、 GetObject 特定のオブジェクト ID が既に逆シリアル化されているかどうか、またはまだ逆シリアル化されていないオブジェクトへの前方参照であるかどうかを検出できます。
適用対象
.NET