Freigeben über


ObjectManager.RegisterObject Methode

Definition

Registriert ein Objekt, wenn es deserialisiert wird.

Überlädt

RegisterObject(Object, Int64)

Registriert ein Objekt, wenn es deserialisiert wird, und ordnet diesem eine objectID zu.

RegisterObject(Object, Int64, SerializationInfo)

Registriert ein Objekt, wenn es deserialisiert wird, ordnet ihm dabei eine objectID zu und zeichnet die mit dem Objekt verwendete SerializationInfo auf.

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

Registriert einen Member eines Objekts, wenn es deserialisiert wird, ordnet ihm dabei eine objectID zu und zeichnet die SerializationInfo auf.

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

Registriert einen Member eines in einem Objekt enthaltenen Arrays während der Deserialisierung des Objekts, ordnet diesem dabei eine objectID zu und zeichnet die SerializationInfo auf.

RegisterObject(Object, Int64)

Quelle:
ObjectManager.cs
Quelle:
ObjectManager.cs
Quelle:
ObjectManager.cs

Registriert ein Objekt, wenn es deserialisiert wird, und ordnet diesem eine objectID zu.

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

Das zu registrierende Objekt.

objectID
Int64

Die ID des zu registrierenden Objekts.

Attribute

Ausnahmen

Der obj-Parameter ist null.

Der objectID-Parameter ist kleiner oder gleich 0 (null).

Die objectID wurde bereits für ein anderes Objekt als obj registriert.

Hinweise

ObjectManager behält Informationen über das Objekt und seine ID bei. Später während der Deserialisierung kann ermittelt werden, GetObject ob eine bestimmte Objekt-ID bereits deserialisiert wurde oder ob es sich um einen Vorwärtsverweis auf ein Objekt handelt, das noch nicht deserialisiert wurde.

Gilt für:

RegisterObject(Object, Int64, SerializationInfo)

Quelle:
ObjectManager.cs
Quelle:
ObjectManager.cs
Quelle:
ObjectManager.cs

Registriert ein Objekt, wenn es deserialisiert wird, ordnet ihm dabei eine objectID zu und zeichnet die mit dem Objekt verwendete SerializationInfo auf.

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

Das zu registrierende Objekt.

objectID
Int64

Die ID des zu registrierenden Objekts.

info
SerializationInfo

Die SerializationInfo, die verwendet werden, wenn objISerializable implementiert oder einen ISerializationSurrogate aufweist. Die info wird mit allen erforderlichen Fixupinformationen vervollständigt und an das erforderliche Objekt übergeben, wenn dieses vollständig ist.

Attribute

Ausnahmen

Der obj-Parameter ist null.

Der objectID-Parameter ist kleiner oder gleich 0 (null).

Die objectID wurde bereits für ein anderes Objekt als obj registriert.

Hinweise

ObjectManager behält die Informationen über das Objekt und seine ID bei. Später während der Deserialisierung können Sie mit ermitteln GetObject , ob eine bestimmte Objekt-ID bereits deserialisiert wurde oder ob es sich um einen Vorwärtsverweis auf ein Objekt handelt, das noch nicht deserialisiert wurde.

Gilt für:

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

Quelle:
ObjectManager.cs
Quelle:
ObjectManager.cs
Quelle:
ObjectManager.cs

Registriert einen Member eines Objekts, wenn es deserialisiert wird, ordnet ihm dabei eine objectID zu und zeichnet die SerializationInfo auf.

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

Das zu registrierende Objekt.

objectID
Int64

Die ID des zu registrierenden Objekts.

info
SerializationInfo

Die SerializationInfo, die verwendet werden, wenn objISerializable implementiert oder einen ISerializationSurrogate aufweist. Die info wird mit allen erforderlichen Fixupinformationen vervollständigt und an das erforderliche Objekt übergeben, wenn dieses vollständig ist.

idOfContainingObj
Int64

Die ID des Objekts, das obj enthält. Dieser Parameter ist nur erforderlich, wenn obj ein Werttyp ist.

member
MemberInfo

Das Feld in dem Objekt, in dem sich obj befindet. Dieser Parameter ist nur von Belang, wenn obj ein Werttyp ist.

Attribute

Ausnahmen

Der obj-Parameter ist null.

Der objectID-Parameter ist kleiner oder gleich 0 (null).

Die objectID wurde bereits für ein anderes Objekt als obj registriert, oder der member ist keine FieldInfo, und der member ist außerdem ungleich null.

Hinweise

Sie müssen die member Parameter und angeben, wenn obj aufgrund ValueType der Art und idOfContainingObj Weise, wie Korrekturen für ValueType Objekte ausgeführt werden, ist. Der Speicherplatz zum Speichern der Informationen für wird ValueType inline mit seinem enthaltenden Objekt zugeordnet. Wenn jedoch geschachtelt ValueType wird, um mit ObjectManagerregistriert zu werden, verliert es die Verbindung mit seinem enthaltenden Objekt. Um sicherzustellen, dass Korrekturen in der instance des ValueType im enthaltenden Objekt gespeicherten Objekts und nicht im geschachtelten instance auftreten, ObjectManager werden einige zusätzliche Informationen beibehalten.

ObjectManager behält Informationen über das Objekt und seine ID bei. Später während der Deserialisierung kann ermittelt werden, GetObject ob eine bestimmte Objekt-ID bereits deserialisiert wurde oder ob es sich um einen Vorwärtsverweis auf ein Objekt handelt, das noch nicht deserialisiert wurde.

Gilt für:

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

Quelle:
ObjectManager.cs
Quelle:
ObjectManager.cs
Quelle:
ObjectManager.cs

Registriert einen Member eines in einem Objekt enthaltenen Arrays während der Deserialisierung des Objekts, ordnet diesem dabei eine objectID zu und zeichnet die SerializationInfo auf.

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

Das zu registrierende Objekt.

objectID
Int64

Die ID des zu registrierenden Objekts.

info
SerializationInfo

Die SerializationInfo, die verwendet werden, wenn objISerializable implementiert oder einen ISerializationSurrogate aufweist. Die info wird mit allen erforderlichen Fixupinformationen vervollständigt und an das erforderliche Objekt übergeben, wenn dieses vollständig ist.

idOfContainingObj
Int64

Die ID des Objekts, das obj enthält. Dieser Parameter ist nur erforderlich, wenn obj ein Werttyp ist.

member
MemberInfo

Das Feld in dem Objekt, in dem sich obj befindet. Dieser Parameter ist nur von Belang, wenn obj ein Werttyp ist.

arrayIndex
Int32[]

Wenn obj ein ValueType und ein Member eines Arrays ist, enthält arrayIndex den Index in dem Array, in dem sich obj befindet. arrayIndex wird ignoriert, wenn obj nicht sowohl ein ValueType als auch ein Member eines Arrays ist.

Attribute

Ausnahmen

Der obj-Parameter ist null.

Der objectID-Parameter ist kleiner oder gleich 0 (null).

Die objectID wurde bereits für ein anderes Objekt als obj registriert, oder der member ist keine FieldInfo, und der member ist außerdem ungleich null.

Hinweise

Sie müssen die member Parameter und angeben, wenn obj aufgrund ValueType der Art und idOfContainingObj Weise, wie Korrekturen für ValueType Objekte ausgeführt werden, ist. Der Speicherplatz zum Speichern der Informationen für wird ValueType inline mit seinem enthaltenden Objekt zugeordnet. Wenn jedoch geschachtelt ValueType wird, um mit ObjectManagerregistriert zu werden, verliert es die Verbindung mit seinem enthaltenden Objekt. Um sicherzustellen, dass Korrekturen in der instance des ValueType im enthaltenden Objekt gespeicherten Objekts und nicht im geschachtelten instance auftreten, ObjectManager werden einige zusätzliche Informationen beibehalten.

ObjectManager behält Informationen über das Objekt und seine ID bei. Später während der Deserialisierung kann ermittelt werden, GetObject ob eine bestimmte Objekt-ID bereits deserialisiert wurde oder ob es sich um einen Vorwärtsverweis auf ein Objekt handelt, das noch nicht deserialisiert wurde.

Gilt für: