Compartilhar via


ObjectManager.RegisterObject Método

Definição

Registra um objeto conforme ele é desserializado.

Sobrecargas

RegisterObject(Object, Int64)

Registra um objeto conforme ele é desserializado, associando-o a objectID.

RegisterObject(Object, Int64, SerializationInfo)

Registra um objeto conforme ele é desserializado, associando-o a objectID e gravando o SerializationInfo usado com ele.

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

Registra um membro de um objeto conforme ele é desserializado, associando-o a objectID e registrando o SerializationInfo.

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

Registra um membro de uma matriz contido em um objeto enquanto ele é desserializado, associando-o a objectID e registrando o SerializationInfo.

RegisterObject(Object, Int64)

Origem:
ObjectManager.cs
Origem:
ObjectManager.cs
Origem:
ObjectManager.cs

Registra um objeto conforme ele é desserializado, associando-o 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)

Parâmetros

obj
Object

O objeto a ser registrado.

objectID
Int64

A ID do objeto a registrar.

Atributos

Exceções

O parâmetro obj é null.

O parâmetro objectID é menor ou igual a zero.

O objectID já foi registrado para um objeto diferente de obj.

Comentários

ObjectManager retém informações sobre o objeto e sua ID. Posteriormente, durante a desserialização, GetObject pode ser usado para determinar se uma ID de objeto específica já foi desserializada ou se é uma referência de encaminhamento a um objeto que ainda não foi desserializado.

Aplica-se a

RegisterObject(Object, Int64, SerializationInfo)

Origem:
ObjectManager.cs
Origem:
ObjectManager.cs
Origem:
ObjectManager.cs

Registra um objeto conforme ele é desserializado, associando-o a objectID e gravando o SerializationInfo usado com ele.

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)

Parâmetros

obj
Object

O objeto a ser registrado.

objectID
Int64

A ID do objeto a registrar.

info
SerializationInfo

O SerializationInfo usado se obj implementar ISerializable ou tiver um ISerializationSurrogate. info serão preenchidas com quaisquer informações necessárias de correção e então passadas para o objeto necessário quando esse objeto estiver concluído.

Atributos

Exceções

O parâmetro obj é null.

O parâmetro objectID é menor ou igual a zero.

O objectID já foi registrado para um objeto diferente de obj.

Comentários

ObjectManager retém as informações sobre o objeto e sua ID. Posteriormente, durante a desserialização, você pode usar GetObject para descobrir se uma ID de objeto específica já foi desserializada ou se é uma referência de encaminhamento a um objeto que ainda não foi desserializado.

Aplica-se a

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

Origem:
ObjectManager.cs
Origem:
ObjectManager.cs
Origem:
ObjectManager.cs

Registra um membro de um objeto conforme ele é desserializado, associando-o a objectID e registrando o 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)

Parâmetros

obj
Object

O objeto a ser registrado.

objectID
Int64

A ID do objeto a registrar.

info
SerializationInfo

O SerializationInfo usado se obj implementar ISerializable ou tiver um ISerializationSurrogate. info serão preenchidas com quaisquer informações necessárias de correção e então passadas para o objeto necessário quando esse objeto estiver concluído.

idOfContainingObj
Int64

A ID do objeto que contém obj. Este parâmetro será obrigatório somente se obj for um tipo de valor.

member
MemberInfo

O campo no objeto recipiente no qual obj existe. Este parâmetro terá significado somente se obj for um tipo de valor.

Atributos

Exceções

O parâmetro obj é null.

O parâmetro objectID é menor ou igual a zero.

O objectID já foi registrado para um objeto diferente de obj, ou member não é um FieldInfo e member não é null.

Comentários

Você precisará fornecer os member parâmetros e idOfContainingObj se obj for um ValueType devido à maneira como as correções são executadas em ValueType objetos. O espaço para armazenar as informações de um ValueType é alocado embutido com seu objeto que contém. No entanto, quando o ValueType está em caixa para ser registrado com o ObjectManager, ele perde a conexão com o objeto que contém. Para garantir que as correções ocorram na instância do ValueType armazenado no objeto que contém e não na instância em caixa, o ObjectManager retém algumas informações adicionais.

ObjectManager retém informações sobre o objeto e sua ID. Posteriormente, durante a desserialização, GetObject pode ser usado para descobrir se uma ID de objeto específica já foi desserializada ou se é uma referência de encaminhamento a um objeto ainda não desserializado.

Aplica-se a

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

Origem:
ObjectManager.cs
Origem:
ObjectManager.cs
Origem:
ObjectManager.cs

Registra um membro de uma matriz contido em um objeto enquanto ele é desserializado, associando-o a objectID e registrando o 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())

Parâmetros

obj
Object

O objeto a ser registrado.

objectID
Int64

A ID do objeto a registrar.

info
SerializationInfo

O SerializationInfo usado se obj implementar ISerializable ou tiver um ISerializationSurrogate. info serão preenchidas com quaisquer informações necessárias de correção e então passadas para o objeto necessário quando esse objeto estiver concluído.

idOfContainingObj
Int64

A ID do objeto que contém obj. Este parâmetro será obrigatório somente se obj for um tipo de valor.

member
MemberInfo

O campo no objeto recipiente no qual obj existe. Este parâmetro terá significado somente se obj for um tipo de valor.

arrayIndex
Int32[]

Se obj é um ValueType e um membro de uma matriz, arrayIndex contém o índice na matriz em que obj existe. arrayIndex será ignorado se obj não for um ValueType e um membro de uma matriz.

Atributos

Exceções

O parâmetro obj é null.

O parâmetro objectID é menor ou igual a zero.

O objectID já foi registrado para um objeto diferente de obj, ou member não é um FieldInfo e member não é null.

Comentários

Você precisará fornecer os member parâmetros e idOfContainingObj se obj for um ValueType devido à maneira como as correções são executadas em ValueType objetos. O espaço para armazenar as informações de um ValueType é alocado embutido com seu objeto que contém. No entanto, quando o ValueType está em caixa para ser registrado com o ObjectManager, ele perde a conexão com o objeto que contém. Para garantir que as correções ocorram na instância do ValueType armazenado no objeto que contém e não na instância em caixa, o ObjectManager retém algumas informações adicionais.

ObjectManager retém informações sobre o objeto e sua ID. Posteriormente, durante a desserialização, GetObject pode ser usado para descobrir se uma ID de objeto específica já foi desserializada ou se é uma referência de encaminhamento a um objeto ainda não desserializado.

Aplica-se a