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)

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 speichert Informationen über das Objekt und seine ID. Später während der Deserialisierung kann verwendet werden, um zu bestimmen, GetObject ob eine bestimmte Objekt-ID bereits deserialisiert wurde oder ob es sich um einen Weiterleitungsverweis auf ein Objekt handelt, das noch nicht deserialisiert wurde.

Gilt für

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.

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 speichert die Informationen sowohl über das Objekt als auch seine ID. Später während der Deserialisierung können GetObject Sie ermitteln, 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 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 Und-Parameter idOfContainingObj angeben, wenn obj es sich um eine ValueType Aufgrund der Art und Weise handelt, wie Fixups für ValueType Objekte ausgeführt werden. Der Speicherplatz zum Speichern der Informationen für ein ValueType Objekt wird inline mit dem enthaltenen Objekt zugewiesen. Wenn das ValueType Feld jedoch mit dem ObjectManagerObjekt registriert werden soll, verliert er die Verbindung mit dem enthaltenen Objekt. Um sicherzustellen, dass Fixups in der Instanz des ValueType gespeicherten Objekts und nicht in der boxierten Instanz auftreten, behält dies ObjectManager einige zusätzliche Informationen bei.

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

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 Und-Parameter idOfContainingObj angeben, wenn obj es sich um eine ValueType Aufgrund der Art und Weise handelt, wie Fixups für ValueType Objekte ausgeführt werden. Der Speicherplatz zum Speichern der Informationen für ein ValueType Objekt wird inline mit dem enthaltenen Objekt zugewiesen. Wenn das ValueType Feld jedoch mit dem ObjectManagerObjekt registriert werden soll, verliert er die Verbindung mit dem enthaltenen Objekt. Um sicherzustellen, dass Fixups in der Instanz des ValueType gespeicherten Objekts und nicht in der boxierten Instanz auftreten, behält dies ObjectManager einige zusätzliche Informationen bei.

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