ObjectManager.RegisterObject Metódus

Definíció

Deszerializálva regisztrál egy objektumot.

Túlterhelések

Name Description
RegisterObject(Object, Int64)

Regisztrál egy objektumot deszerializáltként, társítva ezzel objectID.

RegisterObject(Object, Int64, SerializationInfo)

Regisztrál egy objektumot deszerializáltként, társítva azzal objectID, és rögzíti a SerializationInfo használt objektumot.

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

Regisztrálja egy objektum egy tagját deszerializálva, társítva az objektummal objectID, és rögzíti a SerializationInfo.

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

Regisztrálja egy objektumban található tömb egy tagját, miközben deszerializálja, társítja a tömböt, objectIDés rögzíti a SerializationInfo.

RegisterObject(Object, Int64)

Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs

Regisztrál egy objektumot deszerializáltként, társítva ezzel objectID.

public:
 virtual void RegisterObject(System::Object ^ obj, long objectID);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")]
public virtual void RegisterObject(object obj, long objectID);
public virtual void RegisterObject(object obj, long objectID);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")]
public virtual void RegisterObject(object obj, long objectID);
[System.Security.SecurityCritical]
public virtual void RegisterObject(object obj, long objectID);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")>]
abstract member RegisterObject : obj * int64 -> unit
override this.RegisterObject : obj * int64 -> unit
abstract member RegisterObject : obj * int64 -> unit
override this.RegisterObject : obj * int64 -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")>]
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)

Paraméterek

obj
Object

A regisztrálandó objektum.

objectID
Int64

A regisztrálandó objektum azonosítója.

Attribútumok

Kivételek

A obj paraméter a következő null: .

A objectID paraméter kisebb vagy egyenlő nullánál.

Az objectID objektumot már regisztrálták a nem obj.

Megjegyzések

ObjectManager az objektumra és annak azonosítójára vonatkozó információkat is megőrzi. Később a deszerializálás során megállapíthatja, GetObject hogy egy adott objektumazonosító már deszerializálva lett-e, vagy egy olyan objektumra mutató továbbítási hivatkozás, amely még nem deszerializált.

A következőre érvényes:

RegisterObject(Object, Int64, SerializationInfo)

Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs

Regisztrál egy objektumot deszerializáltként, társítva azzal objectID, és rögzíti a SerializationInfo használt objektumot.

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")]
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info);
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo -> unit
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")>]
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)

Paraméterek

obj
Object

A regisztrálandó objektum.

objectID
Int64

A regisztrálandó objektum azonosítója.

info
SerializationInfo

A SerializationInfo használt, ha obj implementálja ISerializable vagy rendelkezik .ISerializationSurrogate info a rendszer minden szükséges javítási információval befejeződik, majd az objektum befejezésekor átadja a szükséges objektumnak.

Attribútumok

Kivételek

A obj paraméter a következő null: .

A objectID paraméter kisebb vagy egyenlő nullánál.

Az objectID objektumot már regisztrálták a nem obj.

Megjegyzések

ObjectManager az objektum és az azonosító adatait is megőrzi. Később a deszerializálás során megállapíthatja GetObject , hogy egy adott objektumazonosító már deszerializálva lett-e, vagy egy olyan objektumra mutató továbbítási hivatkozás, amely még nem deszerializálódott.

A következőre érvényes:

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

Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs

Regisztrálja egy objektum egy tagját deszerializálva, társítva az objektummal objectID, és rögzíti a SerializationInfo.

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info, long idOfContainingObj, System::Reflection::MemberInfo ^ member);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")]
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.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo -> unit
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")>]
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)

Paraméterek

obj
Object

A regisztrálandó objektum.

objectID
Int64

A regisztrálandó objektum azonosítója.

info
SerializationInfo

A SerializationInfo használt, ha obj implementálja ISerializable vagy rendelkezik .ISerializationSurrogate info a rendszer minden szükséges javítási információval befejeződik, majd az objektum befejezésekor átadja a szükséges objektumnak.

idOfContainingObj
Int64

A benne lévő objobjektum azonosítója. Ez a paraméter csak akkor szükséges, ha obj értéktípus.

member
MemberInfo

Az azt tartalmazó objektum mezője, ahol obj létezik. Ennek a paraméternek csak akkor van jelentése, ha obj értéktípus.

Attribútumok

Kivételek

A obj paraméter a következő null: .

A objectID paraméter kisebb vagy egyenlő nullánál.

Az objectID objektum már regisztrálva van egy másik objobjektumhoz, vagy member nem egy FieldInfo és member nem null.

Megjegyzések

Meg kell adnia a paramétereket és a member paramétereket, ha idOfContainingObj az objektumokon obj a javítások végrehajtásának módja miatt történikValueType.ValueType Az egy adott objektum információinak tárolására szolgáló ValueType terület beágyazottan van lefoglalva az objektummal együtt. Ha azonban a ValueType be van jelölve, hogy regisztrálva legyen a ObjectManagermezővel, elveszíti a kapcsolatot a benne található objektummal. Annak biztosítása érdekében, hogy a javítások a ValueType tárolóobjektumban tárolt példányban történjenek, és ne a dobozos példányban, a ObjectManager rendszer megőriz néhány további információt.

ObjectManager az objektumra és annak azonosítójára vonatkozó információkat is megőrzi. Később a deszerializálás során megállapíthatja, GetObject hogy egy adott objektumazonosító már deszerializálva lett-e, vagy egy még nem deszerializált objektumra mutató továbbítási hivatkozás.

A következőre érvényes:

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

Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs
Forrás:
ObjectManager.cs

Regisztrálja egy objektumban található tömb egy tagját, miközben deszerializálja, társítja a tömböt, objectIDés rögzíti a SerializationInfo.

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info, long idOfContainingObj, System::Reflection::MemberInfo ^ member, cli::array <int> ^ arrayIndex);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")]
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.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo * int[] -> unit
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo * int[] -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")>]
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())

Paraméterek

obj
Object

A regisztrálandó objektum.

objectID
Int64

A regisztrálandó objektum azonosítója.

info
SerializationInfo

A SerializationInfo használt, ha obj implementálja ISerializable vagy rendelkezik .ISerializationSurrogate info a rendszer minden szükséges javítási információval befejeződik, majd az objektum befejezésekor átadja a szükséges objektumnak.

idOfContainingObj
Int64

A benne lévő objobjektum azonosítója. Ez a paraméter csak akkor szükséges, ha obj értéktípus.

member
MemberInfo

Az azt tartalmazó objektum mezője, ahol obj létezik. Ennek a paraméternek csak akkor van jelentése, ha obj értéktípus.

arrayIndex
Int32[]

Ha obj egy ValueType tömb tagja, a tömbön belüli indexet tartalmazza, arrayIndex ahol obj létezik. arrayIndex a rendszer figyelmen kívül hagyja, ha obj nem egy ValueType tömb tagja.

Attribútumok

Kivételek

A obj paraméter a következő null: .

A objectID paraméter kisebb vagy egyenlő nullánál.

Az objectID objektum már regisztrálva van egy másik objobjektumhoz, vagy member nem az FieldInfo , és member nem nullis az.

Megjegyzések

Meg kell adnia a paramétereket és a member paramétereket, ha idOfContainingObj az objektumokon obj a javítások végrehajtásának módja miatt történikValueType.ValueType Az egy adott objektum információinak tárolására szolgáló ValueType terület beágyazottan van lefoglalva az objektummal együtt. Ha azonban a ValueType be van jelölve, hogy regisztrálva legyen a ObjectManagermezővel, elveszíti a kapcsolatot a benne található objektummal. Annak biztosítása érdekében, hogy a javítások a ValueType tárolóobjektumban tárolt példányban történjenek, és ne a dobozos példányban, a ObjectManager rendszer megőriz néhány további információt.

ObjectManager az objektumra és annak azonosítójára vonatkozó információkat is megőrzi. Később a deszerializálás során megállapíthatja, GetObject hogy egy adott objektumazonosító már deszerializálva lett-e, vagy egy még nem deszerializált objektumra mutató továbbítási hivatkozás.

A következőre érvényes: