ObjectManager.RegisterObject Metoda

Definice

Zaregistruje objekt jako deserializovaný.

Přetížení

Name Description
RegisterObject(Object, Int64)

Zaregistruje objekt, protože je deserializován, asociuje ho s objectID.

RegisterObject(Object, Int64, SerializationInfo)

Zaregistruje objekt jako deserializovaný, asociuje ho s objectIDním a zaznamenává SerializationInfo použité objekty.

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

Zaregistruje člena objektu, protože je deserializován, asociuje ho s objectIDa nahrává SerializationInfo.

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

Zaregistruje člena pole obsaženého v objektu, zatímco je deserializován, asociuje jej s objectIDa zaznamenává SerializationInfo.

RegisterObject(Object, Int64)

Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs

Zaregistruje objekt, protože je deserializován, asociuje ho s objectID.

public:
 virtual void RegisterObject(System::Object ^ obj, long objectID);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")]
public virtual void RegisterObject(object obj, long objectID);
public virtual void RegisterObject(object obj, long objectID);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")]
public virtual void RegisterObject(object obj, long objectID);
[System.Security.SecurityCritical]
public virtual void RegisterObject(object obj, long objectID);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")>]
abstract member RegisterObject : obj * int64 -> unit
override this.RegisterObject : obj * int64 -> unit
abstract member RegisterObject : obj * int64 -> unit
override this.RegisterObject : obj * int64 -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")>]
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ší nebo roven nule.

Objekt objectID již byl registrová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 konkrétní ID objektu již bylo deserializováno, nebo zda se jedná o odkaz na objekt, který ještě nebyl deserializován.

Platí pro

RegisterObject(Object, Int64, SerializationInfo)

Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs

Zaregistruje objekt jako deserializovaný, asociuje ho s objectIDním a zaznamenává SerializationInfo použité objekty.

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")]
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info);
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo -> unit
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")>]
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á se SerializationInfo , pokud obj implementuje ISerializable nebo má ISerializationSurrogate. info se dokončí se všemi požadovanými informacemi o opravě a po dokončení objektu se předá požadovanému objektu.

Atributy

Výjimky

Parametr obj je null.

Parametr objectID je menší nebo roven nule.

Objekt objectID již byl registrován pro jiný objekt než obj.

Poznámky

ObjectManager uchovává informace o objektu i jeho ID. Později během deserializace můžete zjistit GetObject , zda konkrétní ID objektu již bylo deserializováno, nebo pokud se jedná o 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
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs

Zaregistruje člena objektu, protože je deserializován, asociuje ho s objectIDa nahrává SerializationInfo.

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info, long idOfContainingObj, System::Reflection::MemberInfo ^ member);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")]
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.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo -> unit
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")>]
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á se SerializationInfo , pokud obj implementuje ISerializable nebo má ISerializationSurrogate. info se dokončí se všemi požadovanými informacemi o opravě a po dokončení objektu 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 to typ hodnoty.

member
MemberInfo

Pole v objektu obsahujícím, 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ší nebo roven nule.

Již objectID byl registrován pro objekt jiný než obj, nebo member není FieldInfo a není a member není null.

Poznámky

Parametry a member parametry je nutné zadatidOfContainingObj, pokud obj je ValueType příčinou způsob, jakým se oprava provádí u ValueType objektů. Místo pro uložení informací pro objekt ValueType je přiděleno vložené s jeho objektem. Pokud ValueType je však pole registrováno s ObjectManager, ztratí spojení s jeho obsahujícím objektem. Chcete-li zaručit, že oprava nastane v instanci ValueType uložené v obsahujícím objektu, a ne v krabicové instanci, ObjectManager zachová 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 odkaz na objekt, který ještě není deserializován.

Platí pro

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

Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs
Zdroj:
ObjectManager.cs

Zaregistruje člena pole obsaženého v objektu, zatímco je deserializován, asociuje jej s objectIDa zaznamenává SerializationInfo.

public:
 void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info, long idOfContainingObj, System::Reflection::MemberInfo ^ member, cli::array <int> ^ arrayIndex);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")]
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.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the type of objects being managed cannot be statically discovered.")>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo * int[] -> unit
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo * int[] -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("ObjectManager is not trim compatible because the Type of objects being managed cannot be statically discovered.")>]
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á se SerializationInfo , pokud obj implementuje ISerializable nebo má ISerializationSurrogate. info se dokončí se všemi požadovanými informacemi o opravě a po dokončení objektu 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 to typ hodnoty.

member
MemberInfo

Pole v objektu obsahujícím, kde obj existuje. Tento parametr má význam pouze v případě, že obj je typ hodnoty.

arrayIndex
Int32[]

Pokud obj je ValueType polem a členem pole, obsahuje index v rámci tohoto pole, arrayIndex kde obj existuje. arrayIndex je ignorována, pokud obj není polem ValueType i členem.

Atributy

Výjimky

Parametr obj je null.

Parametr objectID je menší nebo roven nule.

Objekt objectID již byl registrován pro jiný objekt než obj, nebo member není FieldInfo a member není null.

Poznámky

Parametry a member parametry je nutné zadatidOfContainingObj, pokud obj je ValueType příčinou způsob, jakým se oprava provádí u ValueType objektů. Místo pro uložení informací pro objekt ValueType je přiděleno vložené s jeho objektem. Pokud ValueType je však pole registrováno s ObjectManager, ztratí spojení s jeho obsahujícím objektem. Chcete-li zaručit, že oprava nastane v instanci ValueType uložené v obsahujícím objektu, a ne v krabicové instanci, ObjectManager zachová 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 odkaz na objekt, který ještě není deserializován.

Platí pro