ObjectManager.RegisterObject Método

Definição

Registra um objeto conforme ele é desserializado.

Sobrecargas

Nome Description
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 objectIDe gravando o SerializationInfo usado com ele.

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

Registra um membro de um objeto conforme ele é desserializado, associando-o objectIDe gravando o SerializationInfo.

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

Registra um membro de uma matriz contida em um objeto enquanto ele é desserializado, associando-o objectIDa e gravando o SerializationInfo.

RegisterObject(Object, Int64)

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 ser registrado.

Atributos

Exceções

O obj parâmetro é null.

O objectID parâmetro é 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)

Registra um objeto conforme ele é desserializado, associando-o objectIDe 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 ser registrado.

info
SerializationInfo

O SerializationInfo usado se obj implementa ISerializable ou tem um ISerializationSurrogate. info será concluído com todas as informações de correção necessárias e, em seguida, passado para o objeto necessário quando esse objeto for concluído.

Atributos

Exceções

O obj parâmetro é null.

O objectID parâmetro é 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)

Registra um membro de um objeto conforme ele é desserializado, associando-o objectIDe gravando 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);
[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 ser registrado.

info
SerializationInfo

O SerializationInfo usado se obj implementa ISerializable ou tem um ISerializationSurrogate. info será concluído com todas as informações de correção necessárias e, em seguida, passado para o objeto necessário quando esse objeto for concluído.

idOfContainingObj
Int64

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

member
MemberInfo

O campo no objeto que contém onde obj existe. Esse parâmetro só terá significado se obj for um tipo de valor.

Atributos

Exceções

O obj parâmetro é null.

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

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

Comentários

Você precisa fornecer os parâmetros e idOfContainingObj se memberobj for devido ValueType à 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 box está em caixa para ser registrado com o ObjectManager, ele perde a conexão com seu objeto que contém. Para garantir que as correções ocorram na instância do ValueType objeto armazenado no objeto que contém e não na instância em caixa, ela ObjectManager manté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[])

Registra um membro de uma matriz contida em um objeto enquanto ele é desserializado, associando-o objectIDa e gravando 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);
[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 ser registrado.

info
SerializationInfo

O SerializationInfo usado se obj implementa ISerializable ou tem um ISerializationSurrogate. info será concluído com todas as informações de correção necessárias e, em seguida, passado para o objeto necessário quando esse objeto for concluído.

idOfContainingObj
Int64

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

member
MemberInfo

O campo no objeto que contém onde obj existe. Esse parâmetro só terá significado se obj for um tipo de valor.

arrayIndex
Int32[]

Se obj for um ValueType membro e um membro de uma matriz, arrayIndex conterá o índice dentro dessa matriz onde obj existe. arrayIndex será ignorado se obj não for um membro e um ValueType membro de uma matriz.

Atributos

Exceções

O obj parâmetro é null.

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

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

Comentários

Você precisa fornecer os parâmetros e idOfContainingObj se memberobj for devido ValueType à 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 box está em caixa para ser registrado com o ObjectManager, ele perde a conexão com seu objeto que contém. Para garantir que as correções ocorram na instância do ValueType objeto armazenado no objeto que contém e não na instância em caixa, ela ObjectManager manté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