ObjectManager.RegisterObject Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
| RegisterObject(Object, Int64, SerializationInfo) |
Registriert ein Objekt so, wie es |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
Registriert ein Element eines Objekts, während es deserialisiert wird, und verknüpft es mit |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
Registriert ein Element eines Arrays, das in einem Objekt enthalten ist, während es deserialisiert, zugeordnet |
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.