ObjectManager.RegisterObject Metodo

Definizione

Registra un oggetto come deserializzato.

Overload

Nome Descrizione
RegisterObject(Object, Int64)

Registra un oggetto in quanto deserializzato, associandolo a objectID.

RegisterObject(Object, Int64, SerializationInfo)

Registra un oggetto in quanto deserializzato, associandolo a objectIDe registrando l'oggetto SerializationInfo usato.

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

Registra un membro di un oggetto in quanto deserializzato, associandolo a objectIDe registrando .SerializationInfo

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

Registra un membro di una matrice contenuta in un oggetto mentre è deserializzato, associandolo a objectIDe registrando .SerializationInfo

RegisterObject(Object, Int64)

Registra un oggetto in quanto deserializzato, associandolo a 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)

Parametri

obj
Object

Oggetto da registrare.

objectID
Int64

ID dell'oggetto da registrare.

Attributi

Eccezioni

Il obj parametro è null.

Il objectID parametro è minore o uguale a zero.

L'oggetto objectID è già stato registrato per un oggetto diverso da obj.

Commenti

ObjectManager mantiene le informazioni sull'oggetto e sul relativo ID. Successivamente durante la deserializzazione, GetObject può essere usato per determinare se un ID oggetto specifico è già stato deserializzato o se si tratta di un riferimento in avanti a un oggetto che non è ancora stato deserializzato.

Si applica a

RegisterObject(Object, Int64, SerializationInfo)

Registra un oggetto in quanto deserializzato, associandolo a objectIDe registrando l'oggetto SerializationInfo usato.

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)

Parametri

obj
Object

Oggetto da registrare.

objectID
Int64

ID dell'oggetto da registrare.

info
SerializationInfo

Oggetto SerializationInfo utilizzato se obj implementa ISerializable o dispone di un oggetto ISerializationSurrogate. info verrà completato con tutte le informazioni di correzione necessarie e quindi passate all'oggetto richiesto al termine dell'oggetto.

Attributi

Eccezioni

Il obj parametro è null.

Il objectID parametro è minore o uguale a zero.

L'oggetto objectID è già stato registrato per un oggetto diverso da obj.

Commenti

ObjectManager conserva le informazioni sull'oggetto e sul relativo ID. Successivamente durante la deserializzazione, è possibile usare GetObject per individuare se un ID oggetto specifico è già stato deserializzato o se si tratta di un riferimento in avanti a un oggetto che non è ancora stato deserializzato.

Si applica a

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

Registra un membro di un oggetto in quanto deserializzato, associandolo a objectIDe registrando .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)

Parametri

obj
Object

Oggetto da registrare.

objectID
Int64

ID dell'oggetto da registrare.

info
SerializationInfo

Oggetto SerializationInfo utilizzato se obj implementa ISerializable o dispone di un oggetto ISerializationSurrogate. info verrà completato con tutte le informazioni di correzione necessarie e quindi passate all'oggetto richiesto al termine dell'oggetto.

idOfContainingObj
Int64

ID dell'oggetto che contiene obj. Questo parametro è obbligatorio solo se obj è un tipo di valore.

member
MemberInfo

Campo nell'oggetto contenitore in cui obj esiste. Questo parametro ha un significato solo se obj è un tipo di valore.

Attributi

Eccezioni

Il obj parametro è null.

Il objectID parametro è minore o uguale a zero.

L'oggetto objectID è già stato registrato per un oggetto diverso da objo member non è un FieldInfo oggetto e member non nullè .

Commenti

È necessario specificare i member parametri e idOfContainingObj se obj è un ValueType a causa del modo in cui vengono eseguite correzioni su ValueType oggetti. Lo spazio per archiviare le informazioni per un ValueType oggetto viene allocato inline con il relativo oggetto contenitore. Tuttavia, quando l'oggetto ValueType viene sottoposto a boxing per essere registrato con ObjectManager, perde la connessione con l'oggetto contenitore. Per garantire che le correzioni si verifichino nell'istanza dell'oggetto ValueType archiviato nell'oggetto contenitore e non nell'istanza boxed, mantiene ObjectManager alcune informazioni aggiuntive.

ObjectManager mantiene le informazioni sull'oggetto e sul relativo ID. Successivamente durante la deserializzazione, GetObject può essere usato per individuare se un ID oggetto specifico è già stato deserializzato o se si tratta di un riferimento in avanti a un oggetto non ancora deserializzato.

Si applica a

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

Registra un membro di una matrice contenuta in un oggetto mentre è deserializzato, associandolo a objectIDe registrando .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())

Parametri

obj
Object

Oggetto da registrare.

objectID
Int64

ID dell'oggetto da registrare.

info
SerializationInfo

Oggetto SerializationInfo utilizzato se obj implementa ISerializable o dispone di un oggetto ISerializationSurrogate. info verrà completato con tutte le informazioni di correzione necessarie e quindi passate all'oggetto richiesto al termine dell'oggetto.

idOfContainingObj
Int64

ID dell'oggetto che contiene obj. Questo parametro è obbligatorio solo se obj è un tipo di valore.

member
MemberInfo

Campo nell'oggetto contenitore in cui obj esiste. Questo parametro ha un significato solo se obj è un tipo di valore.

arrayIndex
Int32[]

Se obj è un ValueType oggetto e un membro di una matrice, arrayIndex contiene l'indice all'interno della matrice in cui obj esiste. arrayIndex viene ignorato se obj non è sia un ValueType oggetto che un membro di una matrice.

Attributi

Eccezioni

Il obj parametro è null.

Il objectID parametro è minore o uguale a zero.

L'oggetto objectID è già stato registrato per un oggetto diverso da objo member non è un FieldInfo oggetto e member non nullè .

Commenti

È necessario specificare i member parametri e idOfContainingObj se obj è un ValueType a causa del modo in cui vengono eseguite correzioni su ValueType oggetti. Lo spazio per archiviare le informazioni per un ValueType oggetto viene allocato inline con il relativo oggetto contenitore. Tuttavia, quando l'oggetto ValueType viene sottoposto a boxing per essere registrato con ObjectManager, perde la connessione con l'oggetto contenitore. Per garantire che le correzioni si verifichino nell'istanza dell'oggetto ValueType archiviato nell'oggetto contenitore e non nell'istanza boxed, mantiene ObjectManager alcune informazioni aggiuntive.

ObjectManager mantiene le informazioni sull'oggetto e sul relativo ID. Successivamente durante la deserializzazione, GetObject può essere usato per individuare se un ID oggetto specifico è già stato deserializzato o se si tratta di un riferimento in avanti a un oggetto non ancora deserializzato.

Si applica a