Condividi tramite


ObjectManager.RegisterObject Metodo

Definizione

Registra un oggetto come se fosse deserializzato.

Overload

RegisterObject(Object, Int64)

Registra un oggetto come se fosse deserializzato, associandolo a objectID.

RegisterObject(Object, Int64, SerializationInfo)

Registra un oggetto come se fosse deserializzato, associandolo a objectID e registrando l'oggetto SerializationInfo utilizzato.

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

Registra un membro di un oggetto come se fosse deserializzato, associandolo a objectID e registrando l'oggetto SerializationInfo.

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

Registra un membro di una matrice contenuta in un oggetto durante la deserializzazione, associandolo a objectID e registrando l'oggetto SerializationInfo.

RegisterObject(Object, Int64)

Origine:
ObjectManager.cs
Origine:
ObjectManager.cs
Origine:
ObjectManager.cs

Registra un oggetto come se fosse 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 valore del parametro obj è null.

Il parametro objectID è minore o uguale a zero.

Il parametro objectID è già stato registrato per un oggetto diverso da obj

Commenti

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

Si applica a

RegisterObject(Object, Int64, SerializationInfo)

Origine:
ObjectManager.cs
Origine:
ObjectManager.cs
Origine:
ObjectManager.cs

Registra un oggetto come se fosse deserializzato, associandolo a objectID e registrando l'oggetto SerializationInfo utilizzato.

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

SerializationInfo utilizzato se obj implementa ISerializable o dispone di ISerializationSurrogate. info verrà completato con le informazioni relative a eventuali correzioni necessarie, quindi verrà passato all'oggetto richiesto quando tale oggetto sarà stato completato.

Attributi

Eccezioni

Il valore del parametro obj è null.

Il parametro objectID è minore o uguale a zero.

Il parametro 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, è possibile usare GetObject per individuare se è già stato deserializzato un ID oggetto specifico 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)

Origine:
ObjectManager.cs
Origine:
ObjectManager.cs
Origine:
ObjectManager.cs

Registra un membro di un oggetto come se fosse deserializzato, associandolo a objectID e registrando l'oggetto 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);
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

SerializationInfo utilizzato se obj implementa ISerializable o dispone di ISerializationSurrogate. info verrà completato con le informazioni relative a eventuali correzioni necessarie, quindi verrà passato all'oggetto richiesto quando tale oggetto sarà stato completato.

idOfContainingObj
Int64

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

member
MemberInfo

Campo dell'oggetto contenente in cui esiste obj. Questo parametro è significativo solo se obj è un tipo di valore.

Attributi

Eccezioni

Il valore del parametro obj è null.

Il parametro objectID è minore o uguale a zero.

Il parametro objectID è già stato registrato per un oggetto diverso da obj oppure member non corrisponde a un oggetto FieldInfo e member non è null.

Commenti

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

ObjectManager mantiene informazioni sull'oggetto e sul relativo ID. Successivamente durante la deserializzazione, GetObject è possibile usare per individuare se è già stato deserializzato un ID oggetto specifico 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[])

Origine:
ObjectManager.cs
Origine:
ObjectManager.cs
Origine:
ObjectManager.cs

Registra un membro di una matrice contenuta in un oggetto durante la deserializzazione, associandolo a objectID e registrando l'oggetto 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())

Parametri

obj
Object

Oggetto da registrare.

objectID
Int64

ID dell'oggetto da registrare.

info
SerializationInfo

SerializationInfo utilizzato se obj implementa ISerializable o dispone di ISerializationSurrogate. info verrà completato con le informazioni relative a eventuali correzioni necessarie, quindi verrà passato all'oggetto richiesto quando tale oggetto sarà stato completato.

idOfContainingObj
Int64

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

member
MemberInfo

Campo dell'oggetto contenente in cui esiste obj. Questo parametro è significativo solo se obj è un tipo di valore.

arrayIndex
Int32[]

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

Attributi

Eccezioni

Il valore del parametro obj è null.

Il parametro objectID è minore o uguale a zero.

Il parametro objectID è già stato registrato per un oggetto diverso da obj oppure member non è un FieldInfo e member non è null.

Commenti

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

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

Si applica a