ObjectManager.RegisterObject Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Registra un oggetto come deserializzato.
Overload
| Nome | Descrizione |
|---|---|
| RegisterObject(Object, Int64) |
Registra un oggetto in quanto deserializzato, associandolo a |
| RegisterObject(Object, Int64, SerializationInfo) |
Registra un oggetto in quanto deserializzato, associandolo a |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
Registra un membro di un oggetto in quanto deserializzato, associandolo a |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
Registra un membro di una matrice contenuta in un oggetto mentre è deserializzato, associandolo a |
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.