ObjectManager.RegisterObject Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Registruje objekt, protože je deserializován.
Přetížení
RegisterObject(Object, Int64) |
Zaregistruje objekt jako deserializovaný a přidružuje ho k |
RegisterObject(Object, Int64, SerializationInfo) |
Zaregistruje objekt tak, jak je deserializován, přidruží ho k |
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
Zaregistruje člena objektu, protože je deserializován, přidružuje ho |
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
Zaregistruje člena pole obsaženého v objektu, zatímco je deserializován, přidružuje ho k |
RegisterObject(Object, Int64)
- Zdroj:
- ObjectManager.cs
- Zdroj:
- ObjectManager.cs
- Zdroj:
- ObjectManager.cs
Zaregistruje objekt jako deserializovaný a přidružuje ho k 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)
Parametry
- obj
- Object
Objekt, který se má zaregistrovat
- objectID
- Int64
ID objektu, který se má zaregistrovat.
- Atributy
Výjimky
Parametr obj
je null
.
Parametr objectID
je menší než nebo roven nule.
Objekt objectID
již byl zaregistrován pro jiný objekt než obj
.
Poznámky
ObjectManager uchovává informace o objektu i jeho ID. Později během deserializace, lze použít k určení, GetObject zda určité ID objektu již bylo deserializováno, nebo zda se jedná o dopředný odkaz na objekt, který ještě nebyl deserializován.
Platí pro
RegisterObject(Object, Int64, SerializationInfo)
- Zdroj:
- ObjectManager.cs
- Zdroj:
- ObjectManager.cs
- Zdroj:
- ObjectManager.cs
Zaregistruje objekt tak, jak je deserializován, přidruží ho k objectID
a zaznamená SerializationInfo použitý objekt.
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)
Parametry
- obj
- Object
Objekt, který se má zaregistrovat
- objectID
- Int64
ID objektu, který se má zaregistrovat.
- info
- SerializationInfo
Používá SerializationInfo se, pokud obj
implementuje ISerializable nebo má ISerializationSurrogate.
info
se dokončí se všemi požadovanými informacemi o opravě a po dokončení se předá požadovanému objektu.
- Atributy
Výjimky
Parametr obj
je null
.
Parametr objectID
je menší než nebo roven nule.
Objekt objectID
již byl zaregistrován pro jiný objekt než obj
.
Poznámky
ObjectManager uchovává informace o objektu i jeho ID. Později během deserializace můžete pomocí příkazu GetObject zjistit, zda bylo id konkrétního objektu již deserializováno, nebo zda se jedná o dopředný odkaz na objekt, který ještě nebyl deserializován.
Platí pro
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)
- Zdroj:
- ObjectManager.cs
- Zdroj:
- ObjectManager.cs
- Zdroj:
- ObjectManager.cs
Zaregistruje člena objektu, protože je deserializován, přidružuje ho objectID
k a zaznamená SerializationInfoobjekt .
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)
Parametry
- obj
- Object
Objekt, který se má zaregistrovat
- objectID
- Int64
ID objektu, který se má zaregistrovat.
- info
- SerializationInfo
Používá SerializationInfo se, pokud obj
implementuje ISerializable nebo má ISerializationSurrogate.
info
se dokončí se všemi požadovanými informacemi o opravě a po dokončení se předá požadovanému objektu.
- idOfContainingObj
- Int64
ID objektu, který obsahuje obj
. Tento parametr je povinný pouze v případě, že obj
je typ hodnoty.
- member
- MemberInfo
Pole v obsahujícím objektu, kde obj
existuje. Tento parametr má význam pouze v případě, že obj
je typ hodnoty.
- Atributy
Výjimky
Parametr obj
je null
.
Parametr objectID
je menší než nebo roven nule.
Objekt objectID
již byl zaregistrován pro jiný objekt než obj
, nebo member
není a FieldInfomember
není null
.
Poznámky
Pokud je ValueType parametr a , musíte zadat idOfContainingObj
member
kvůli obj
způsobu, jakým se u ValueType objektů provádějí opravy. Místo pro uložení informací o objektu je přiděleno vloženě s objektem, který ValueType obsahuje. Pokud je však ValueType objekt zahoděný, aby byl zaregistrován pomocí ObjectManager, ztratí spojení s objektem, který obsahuje. Aby bylo zaručeno, že k opravám dojde v instanci ValueType uloženého v obsahujícím objektu, a ne v instanci v rámečku, ObjectManager uchovává některé další informace.
ObjectManager uchovává informace o objektu i jeho ID. Později během deserializace, lze použít ke zjištění, GetObject zda konkrétní ID objektu již bylo deserializováno, nebo zda se jedná o dopředný odkaz na objekt ještě není deserializován.
Platí pro
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])
- Zdroj:
- ObjectManager.cs
- Zdroj:
- ObjectManager.cs
- Zdroj:
- ObjectManager.cs
Zaregistruje člena pole obsaženého v objektu, zatímco je deserializován, přidružuje ho k objectID
a zaznamená 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);
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())
Parametry
- obj
- Object
Objekt, který se má zaregistrovat
- objectID
- Int64
ID objektu, který se má zaregistrovat.
- info
- SerializationInfo
Používá SerializationInfo se, pokud obj
implementuje ISerializable nebo má ISerializationSurrogate.
info
se dokončí se všemi požadovanými informacemi o opravě a po dokončení se předá požadovanému objektu.
- idOfContainingObj
- Int64
ID objektu, který obsahuje obj
. Tento parametr je povinný pouze v případě, že obj
je typ hodnoty.
- member
- MemberInfo
Pole v obsahujícím objektu, kde obj
existuje. Tento parametr má význam pouze v případě, že obj
je typ hodnoty.
- arrayIndex
- Int32[]
Pokud obj
je a ValueType členem pole, arrayIndex
obsahuje index v rámci tohoto pole, kde obj
existuje.
arrayIndex
je ignorován, pokud obj
není současně ValueType a členem pole.
- Atributy
Výjimky
Parametr obj
je null
.
Parametr objectID
je menší než nebo roven nule.
Objekt objectID
již byl zaregistrován pro jiný objekt než obj
, nebo member
není a FieldInfomember
není null
.
Poznámky
Pokud je ValueType parametr a , musíte zadat idOfContainingObj
member
kvůli obj
způsobu, jakým se u ValueType objektů provádějí opravy. Místo pro uložení informací o objektu je přiděleno vloženě s objektem, který ValueType obsahuje. Pokud je však ValueType objekt zahoděný, aby byl zaregistrován pomocí ObjectManager, ztratí spojení s objektem, který obsahuje. Aby bylo zaručeno, že k opravám dojde v instanci ValueType uloženého v obsahujícím objektu, a ne v instanci v rámečku, ObjectManager uchovává některé další informace.
ObjectManager uchovává informace o objektu i jeho ID. Později během deserializace, lze použít ke zjištění, GetObject zda konkrétní ID objektu již bylo deserializováno, nebo zda se jedná o dopředný odkaz na objekt ještě není deserializován.