ObjectManager.RegisterObject Methode

Definition

Registriert ein Objekt so, wie es deserialisiert wird.

Überlädt

Name Beschreibung
RegisterObject(Object, Int64)

Registriert ein Objekt so, wie es deserialisiert wird, und verknüpft es objectID.

RegisterObject(Object, Int64, SerializationInfo)

Registriert ein Objekt so, wie es objectIDdeserialisiert ist, zuordnen und das SerializationInfo verwendete Objekt aufzuzeichnen.

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

Registriert ein Element eines Objekts, während es deserialisiert wird, und verknüpft es mit objectID, und zeichnet die SerializationInfo.

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

Registriert ein Element eines Arrays, das in einem Objekt enthalten ist, während es deserialisiert, zugeordnet objectIDund aufgezeichnet wird SerializationInfo.

RegisterObject(Object, Int64)

Registriert ein Objekt so, wie es deserialisiert wird, und verknüpft es 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

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 Null.

Das objectID Objekt wurde bereits für ein anderes Objekt als objregistriert.

Hinweise

ObjectManager speichert Informationen über das Objekt und seine ID. 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)

Registriert ein Objekt so, wie es objectIDdeserialisiert ist, zuordnen und das SerializationInfo verwendete Objekt aufzuzeichnen.

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

Wird SerializationInfo verwendet, wenn obj eine Implementierung erfolgt ISerializable oder über eine ISerializationSurrogate. info wird mit allen erforderlichen Fixupinformationen abgeschlossen und dann an das erforderliche Objekt übergeben, wenn dieses Objekt abgeschlossen ist.

Attribute

Ausnahmen

Der obj Parameter ist null.

Der objectID Parameter ist kleiner oder gleich Null.

Das objectID Objekt wurde bereits für ein anderes Objekt als objregistriert.

Hinweise

ObjectManager behält die Informationen über das Objekt und seine ID bei. Später während der Deserialisierung können Sie 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)

Registriert ein Element eines Objekts, während es deserialisiert wird, und verknüpft es mit objectID, und zeichnet die 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)

Parameter

obj
Object

Das zu registrierende Objekt.

objectID
Int64

Die ID des zu registrierenden Objekts.

info
SerializationInfo

Wird SerializationInfo verwendet, wenn obj eine Implementierung erfolgt ISerializable oder über eine ISerializationSurrogate. info wird mit allen erforderlichen Fixupinformationen abgeschlossen und dann an das erforderliche Objekt übergeben, wenn dieses Objekt abgeschlossen ist.

idOfContainingObj
Int64

Die ID des Objekts, das enthält obj. Dieser Parameter ist nur erforderlich, wenn obj es sich um einen Werttyp handelt.

member
MemberInfo

Das Feld im enthaltenden Objekt, in dem obj vorhanden ist. Dieser Parameter hat nur dann Bedeutung, wenn obj es sich um einen Werttyp handelt.

Attribute

Ausnahmen

Der obj Parameter ist null.

Der objectID Parameter ist kleiner oder gleich Null.

Das objectID Objekt wurde bereits für ein anderes Objekt registriert als obj, oder member ist kein FieldInfo und member nicht null.

Hinweise

Sie müssen die member Und-Parameter idOfContainingObj angeben, wenn obj dies der ValueType Grund dafür ist, wie Fixups für ValueType Objekte ausgeführt werden. Der Platz zum Speichern der Informationen für ein ValueType Objekt wird inline mit dem zugehörigen Objekt zugewiesen. Wenn das ValueType Feld jedoch bei der ObjectManagerRegistrierung registriert werden soll, verliert es die Verbindung mit dem enthaltenden Objekt. Um sicherzustellen, dass Fixups in der Instanz des ValueType gespeicherten im enthaltenden Objekt und nicht in der boxierten Instanz auftreten, ObjectManager werden einige zusätzliche Informationen aufbewahrt.

ObjectManager speichert Informationen über das Objekt und seine ID. 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[])

Registriert ein Element eines Arrays, das in einem Objekt enthalten ist, während es deserialisiert, zugeordnet objectIDund aufgezeichnet wird 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())

Parameter

obj
Object

Das zu registrierende Objekt.

objectID
Int64

Die ID des zu registrierenden Objekts.

info
SerializationInfo

Wird SerializationInfo verwendet, wenn obj eine Implementierung erfolgt ISerializable oder über eine ISerializationSurrogate. info wird mit allen erforderlichen Fixupinformationen abgeschlossen und dann an das erforderliche Objekt übergeben, wenn dieses Objekt abgeschlossen ist.

idOfContainingObj
Int64

Die ID des Objekts, das enthält obj. Dieser Parameter ist nur erforderlich, wenn obj es sich um einen Werttyp handelt.

member
MemberInfo

Das Feld im enthaltenden Objekt, in dem obj vorhanden ist. Dieser Parameter hat nur dann Bedeutung, wenn obj es sich um einen Werttyp handelt.

arrayIndex
Int32[]

Wenn obj es sich um ein ValueType Element eines Arrays handelt, arrayIndex enthält sie den Index innerhalb dieses Arrays, wo obj vorhanden ist. arrayIndex wird ignoriert, wenn obj es sich nicht um ein ValueType und ein Element eines Arrays handelt.

Attribute

Ausnahmen

Der obj Parameter ist null.

Der objectID Parameter ist kleiner oder gleich Null.

Das objectID Objekt wurde bereits für ein anderes Objekt registriert als obj, oder member ist kein FieldInfo Und member nicht null.

Hinweise

Sie müssen die member Und-Parameter idOfContainingObj angeben, wenn obj dies der ValueType Grund dafür ist, wie Fixups für ValueType Objekte ausgeführt werden. Der Platz zum Speichern der Informationen für ein ValueType Objekt wird inline mit dem zugehörigen Objekt zugewiesen. Wenn das ValueType Feld jedoch bei der ObjectManagerRegistrierung registriert werden soll, verliert es die Verbindung mit dem enthaltenden Objekt. Um sicherzustellen, dass Fixups in der Instanz des ValueType gespeicherten im enthaltenden Objekt und nicht in der boxierten Instanz auftreten, ObjectManager werden einige zusätzliche Informationen aufbewahrt.

ObjectManager speichert Informationen über das Objekt und seine ID. 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: