Bagikan melalui


ObjectManager.RegisterObject Metode

Definisi

Mendaftarkan objek saat dideserialisasi.

Overload

RegisterObject(Object, Int64)

Mendaftarkan objek saat dideserialisasi, mengaitkannya dengan objectID.

RegisterObject(Object, Int64, SerializationInfo)

Mendaftarkan objek saat dideserialisasi, mengaitkannya dengan objectID, dan merekam yang SerializationInfo digunakan dengannya.

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

Mendaftarkan anggota objek saat dideserialisasi, mengaitkannya dengan objectID, dan merekam SerializationInfo.

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

Mendaftarkan anggota array yang terkandung dalam objek saat dideserialisasi, mengaitkannya dengan objectID, dan merekam SerializationInfo.

RegisterObject(Object, Int64)

Sumber:
ObjectManager.cs
Sumber:
ObjectManager.cs
Sumber:
ObjectManager.cs

Mendaftarkan objek saat dideserialisasi, mengaitkannya dengan 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)

Parameter

obj
Object

Objek yang akan didaftarkan.

objectID
Int64

ID objek yang akan didaftarkan.

Atribut

Pengecualian

Parameternya obj adalah null.

Parameter objectID kurang dari atau sama dengan nol.

objectID telah didaftarkan untuk objek selain obj.

Keterangan

ObjectManager menyimpan informasi tentang objek dan ID-nya. Nantinya selama deserialisasi, GetObject dapat digunakan untuk menentukan apakah ID objek tertentu telah dideserialisasi, atau apakah itu referensi penerusan ke objek yang belum dideserialisasi.

Berlaku untuk

RegisterObject(Object, Int64, SerializationInfo)

Sumber:
ObjectManager.cs
Sumber:
ObjectManager.cs
Sumber:
ObjectManager.cs

Mendaftarkan objek saat dideserialisasi, mengaitkannya dengan objectID, dan merekam yang SerializationInfo digunakan dengannya.

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)

Parameter

obj
Object

Objek yang akan didaftarkan.

objectID
Int64

ID objek yang akan didaftarkan.

info
SerializationInfo

yang SerializationInfo digunakan jika obj mengimplementasikan ISerializable atau memiliki ISerializationSurrogate. info akan dilengkapi dengan informasi perbaikan yang diperlukan dan kemudian diteruskan ke objek yang diperlukan ketika objek tersebut selesai.

Atribut

Pengecualian

Parameternya obj adalah null.

Parameter objectID kurang dari atau sama dengan nol.

objectID telah didaftarkan untuk objek selain obj.

Keterangan

ObjectManager menyimpan informasi tentang objek dan ID-nya. Nantinya selama deserialisasi, Anda dapat menggunakan GetObject untuk menemukan apakah ID objek tertentu telah dideserialisasi, atau jika itu adalah referensi maju ke objek yang belum dideserialisasi.

Berlaku untuk

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

Sumber:
ObjectManager.cs
Sumber:
ObjectManager.cs
Sumber:
ObjectManager.cs

Mendaftarkan anggota objek saat dideserialisasi, mengaitkannya dengan objectID, dan merekam 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)

Parameter

obj
Object

Objek yang akan didaftarkan.

objectID
Int64

ID objek yang akan didaftarkan.

info
SerializationInfo

yang SerializationInfo digunakan jika obj mengimplementasikan ISerializable atau memiliki ISerializationSurrogate. info akan dilengkapi dengan informasi perbaikan yang diperlukan dan kemudian diteruskan ke objek yang diperlukan ketika objek tersebut selesai.

idOfContainingObj
Int64

ID objek yang berisi obj. Parameter ini diperlukan hanya jika obj adalah jenis nilai.

member
MemberInfo

Bidang dalam objek yang berisi tempat obj ada. Parameter ini hanya memiliki arti jika obj adalah jenis nilai.

Atribut

Pengecualian

Parameternya obj adalah null.

Parameter objectID kurang dari atau sama dengan nol.

objectID telah didaftarkan untuk objek selain obj, atau member bukan FieldInfo dan member bukan null.

Keterangan

Anda perlu memberikan member parameter dan idOfContainingObj jika obj merupakan ValueType karena cara perbaikan dilakukan pada ValueType objek. Ruang untuk menyimpan informasi untuk ValueType dialokasikan sebaris dengan objek yang berisi. Namun, ketika ValueType kotak didaftarkan dengan ObjectManager, itu kehilangan koneksi dengan objek yang berisi. Untuk menjamin bahwa perbaikan terjadi dalam instans ValueType yang disimpan dalam objek yang berisi dan bukan dalam instans berkotak, ObjectManager mempertahankan beberapa informasi tambahan.

ObjectManager menyimpan informasi tentang objek dan ID-nya. Nantinya selama deserialisasi, GetObject dapat digunakan untuk menemukan apakah ID objek tertentu telah dideserialisasi, atau apakah itu referensi penerusan ke objek yang belum dideserialisasi.

Berlaku untuk

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

Sumber:
ObjectManager.cs
Sumber:
ObjectManager.cs
Sumber:
ObjectManager.cs

Mendaftarkan anggota array yang terkandung dalam objek saat dideserialisasi, mengaitkannya dengan objectID, dan merekam 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())

Parameter

obj
Object

Objek yang akan didaftarkan.

objectID
Int64

ID objek yang akan didaftarkan.

info
SerializationInfo

yang SerializationInfo digunakan jika obj mengimplementasikan ISerializable atau memiliki ISerializationSurrogate. info akan dilengkapi dengan informasi perbaikan yang diperlukan dan kemudian diteruskan ke objek yang diperlukan ketika objek tersebut selesai.

idOfContainingObj
Int64

ID objek yang berisi obj. Parameter ini diperlukan hanya jika obj adalah jenis nilai.

member
MemberInfo

Bidang dalam objek yang berisi tempat obj ada. Parameter ini hanya memiliki arti jika obj adalah jenis nilai.

arrayIndex
Int32[]

Jika obj adalah ValueType dan anggota array, arrayIndex berisi indeks dalam array tersebut di mana obj ada. arrayIndex diabaikan jika obj bukan ValueType anggota array dan .

Atribut

Pengecualian

Parameternya obj adalah null.

Parameter objectID kurang dari atau sama dengan nol.

objectID telah didaftarkan untuk objek selain obj, atau member bukan FieldInfo dan member bukan null.

Keterangan

Anda perlu memberikan member parameter dan idOfContainingObj jika obj merupakan ValueType karena cara perbaikan dilakukan pada ValueType objek. Ruang untuk menyimpan informasi untuk ValueType dialokasikan sebaris dengan objek yang berisi. Namun, ketika ValueType kotak didaftarkan dengan ObjectManager, itu kehilangan koneksi dengan objek yang berisi. Untuk menjamin bahwa perbaikan terjadi dalam instans ValueType yang disimpan dalam objek yang berisi dan bukan dalam instans berkotak, ObjectManager mempertahankan beberapa informasi tambahan.

ObjectManager menyimpan informasi tentang objek dan ID-nya. Nantinya selama deserialisasi, GetObject dapat digunakan untuk menemukan apakah ID objek tertentu telah dideserialisasi, atau apakah itu referensi penerusan ke objek yang belum dideserialisasi.

Berlaku untuk