ObjectManager.RegisterObject Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Registreert een object omdat het wordt gedeserialiseerd.
Overloads
| Name | Description |
|---|---|
| RegisterObject(Object, Int64) |
Registreert een object omdat het gedeserialiseerd is, waarbij het wordt gekoppeld aan |
| RegisterObject(Object, Int64, SerializationInfo) |
Registreert een object omdat het gedeserialiseerd is, koppelt aan het |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
Registreert een lid van een object omdat het wordt gedeserialiseerd, gekoppeld aan |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
Registreert een lid van een matrix in een object terwijl het wordt gedeserialiseerd, gekoppeld aan |
RegisterObject(Object, Int64)
Registreert een object omdat het gedeserialiseerd is, waarbij het wordt gekoppeld aan 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)
Parameters
- obj
- Object
Het object dat moet worden geregistreerd.
- objectID
- Int64
De id van het object dat moet worden geregistreerd.
- Kenmerken
Uitzonderingen
De obj parameter is null.
De objectID parameter is kleiner dan of gelijk aan nul.
De objectID is al geregistreerd voor een ander object dan obj.
Opmerkingen
ObjectManager bewaart informatie over zowel het object als de bijbehorende id. Later tijdens de deserialisatie GetObject kan worden gebruikt om te bepalen of een bepaalde object-id al is gedeserialiseerd, of het een doorstuurverwijzing is naar een object dat nog niet is gedeserialiseerd.
Van toepassing op
RegisterObject(Object, Int64, SerializationInfo)
Registreert een object omdat het gedeserialiseerd is, koppelt aan het objectIDobject en registreert het SerializationInfo gebruikte object.
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)
Parameters
- obj
- Object
Het object dat moet worden geregistreerd.
- objectID
- Int64
De id van het object dat moet worden geregistreerd.
- info
- SerializationInfo
De SerializationInfo gebruikte als obj implementeert ISerializable of een ISerializationSurrogate.
info wordt voltooid met alle vereiste fixup-informatie en wordt vervolgens doorgegeven aan het vereiste object wanneer dat object is voltooid.
- Kenmerken
Uitzonderingen
De obj parameter is null.
De objectID parameter is kleiner dan of gelijk aan nul.
De objectID is al geregistreerd voor een ander object dan obj.
Opmerkingen
ObjectManager behoudt de informatie over zowel het object als de bijbehorende id. Later tijdens deserialisatie kunt u gebruiken GetObject om te ontdekken of een bepaalde object-id al is gedeserialiseerd of als het een doorstuurverwijzing is naar een object dat nog niet is gedeserialiseerd.
Van toepassing op
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)
Registreert een lid van een object omdat het wordt gedeserialiseerd, gekoppeld aan objectIDen het opnemen van de 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)
Parameters
- obj
- Object
Het object dat moet worden geregistreerd.
- objectID
- Int64
De id van het object dat moet worden geregistreerd.
- info
- SerializationInfo
De SerializationInfo gebruikte als obj implementeert ISerializable of een ISerializationSurrogate.
info wordt voltooid met alle vereiste fixup-informatie en wordt vervolgens doorgegeven aan het vereiste object wanneer dat object is voltooid.
- idOfContainingObj
- Int64
De id van het object dat het bevat obj. Deze parameter is alleen vereist als obj dit een waardetype is.
- member
- MemberInfo
Het veld in het bijbehorende object waar obj aanwezig is. Deze parameter heeft alleen betekenis als obj dit een waardetype is.
- Kenmerken
Uitzonderingen
De obj parameter is null.
De objectID parameter is kleiner dan of gelijk aan nul.
De objectID is al geregistreerd voor een ander object dan obj, of member is niet een FieldInfo en member niet null.
Opmerkingen
U moet de member en idOfContainingObj parameters opgeven als obj dit een ValueType gevolg is van de manier waarop fixups worden uitgevoerd op ValueType objecten. De ruimte voor het opslaan van de informatie voor een ValueType wordt inline toegewezen met het bijbehorende object. Wanneer het ValueType vak wordt geregistreerd bij de ObjectManager, verliest het echter de verbinding met het bijbehorende object. Om ervoor te zorgen dat fixups plaatsvinden in het exemplaar van het ValueType opgeslagen in het betreffende object en niet in het vakexemplaren, behoudt het ObjectManager enkele aanvullende informatie.
ObjectManager bewaart informatie over zowel het object als de bijbehorende id. Later tijdens de deserialisatie kan worden gebruikt om te ontdekken of een bepaalde object-id al is gedeserialiseerd of dat het een doorstuurverwijzing GetObject naar een object is dat nog niet gedeserialiseerd is.
Van toepassing op
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])
Registreert een lid van een matrix in een object terwijl het wordt gedeserialiseerd, gekoppeld aan objectIDen het opnemen van de 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())
Parameters
- obj
- Object
Het object dat moet worden geregistreerd.
- objectID
- Int64
De id van het object dat moet worden geregistreerd.
- info
- SerializationInfo
De SerializationInfo gebruikte als obj implementeert ISerializable of een ISerializationSurrogate.
info wordt voltooid met alle vereiste fixup-informatie en wordt vervolgens doorgegeven aan het vereiste object wanneer dat object is voltooid.
- idOfContainingObj
- Int64
De id van het object dat het bevat obj. Deze parameter is alleen vereist als obj dit een waardetype is.
- member
- MemberInfo
Het veld in het bijbehorende object waar obj aanwezig is. Deze parameter heeft alleen betekenis als obj dit een waardetype is.
- arrayIndex
- Int32[]
Als obj dit een ValueType en een lid is van een matrix, arrayIndex bevat deze de index in die matrix waar obj deze bestaat.
arrayIndex wordt genegeerd als obj dit niet zowel een als ValueType een lid is van een matrix.
- Kenmerken
Uitzonderingen
De obj parameter is null.
De objectID parameter is kleiner dan of gelijk aan nul.
De objectID is al geregistreerd voor een ander object dan obj, of member is niet een FieldInfo en member is niet null.
Opmerkingen
U moet de member en idOfContainingObj parameters opgeven als obj dit een ValueType gevolg is van de manier waarop fixups worden uitgevoerd op ValueType objecten. De ruimte voor het opslaan van de informatie voor een ValueType wordt inline toegewezen met het bijbehorende object. Wanneer het ValueType vak wordt geregistreerd bij de ObjectManager, verliest het echter de verbinding met het bijbehorende object. Om ervoor te zorgen dat fixups plaatsvinden in het exemplaar van het ValueType opgeslagen in het betreffende object en niet in het vakexemplaren, behoudt het ObjectManager enkele aanvullende informatie.
ObjectManager bewaart informatie over zowel het object als de bijbehorende id. Later tijdens de deserialisatie kan worden gebruikt om te ontdekken of een bepaalde object-id al is gedeserialiseerd of dat het een doorstuurverwijzing GetObject naar een object is dat nog niet gedeserialiseerd is.