ObjectManager.RegisterObject Método

Definição

Regista um objeto à medida que este é desserializado.

Sobrecargas

Name Description
RegisterObject(Object, Int64)

Regista um objeto à medida que é desserializado, associando-o a objectID.

RegisterObject(Object, Int64, SerializationInfo)

Regista um objeto à medida que é desserializado, associando-o a objectID, e registando o SerializationInfo usado com ele.

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

Regista um membro de um objeto à medida que este é desserializado, associando-o a objectID, e registando o SerializationInfo.

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

Regista um membro de um array contido num objeto enquanto este está desserializado, associando-o a objectID, e registando o SerializationInfo.

RegisterObject(Object, Int64)

Regista um objeto à medida que é 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 registar.

objectID
Int64

O ID do objeto a registar.

Atributos

Exceções

O obj parâmetro é null.

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

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

Observações

ObjectManager retém informação tanto sobre o objeto como sobre o seu ID. Mais tarde, durante a desserialização, GetObject pode ser usado para determinar se um determinado ID de objeto já foi desserializado, ou se é uma referência direta a um objeto que ainda não foi desserializado.

Aplica-se a

RegisterObject(Object, Int64, SerializationInfo)

Regista um objeto à medida que é desserializado, associando-o a objectID, e registando 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 registar.

objectID
Int64

O ID do objeto a registar.

info
SerializationInfo

O SerializationInfo usado se obj implementa ISerializable ou tem um ISerializationSurrogate. info será completado com toda a informação de correção necessária e depois passado para o objeto requerido quando esse objeto estiver concluído.

Atributos

Exceções

O obj parâmetro é null.

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

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

Observações

ObjectManager retém a informação tanto sobre o objeto como sobre o seu ID. Mais tarde, durante a desserialização, pode-se usar GetObject para descobrir se um determinado ID de objeto já foi desserializado, ou se é uma referência direta a um objeto que ainda não foi desserializado.

Aplica-se a

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

Regista um membro de um objeto à medida que este é desserializado, associando-o a objectID, e registando 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 registar.

objectID
Int64

O ID do objeto a registar.

info
SerializationInfo

O SerializationInfo usado se obj implementa ISerializable ou tem um ISerializationSurrogate. info será completado com toda a informação de correção necessária e depois passado para o objeto requerido quando esse objeto estiver concluído.

idOfContainingObj
Int64

O ID do objeto que contém obj. Este parâmetro é necessário apenas se obj for um tipo de valor.

member
MemberInfo

O campo no objeto que contém onde obj existe. Este parâmetro só tem 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 registado para um objeto diferente de obj, ou member não é um FieldInfo e member não nullé .

Observações

Tens de fornecer os member parâmetros e idOfContainingObj se obj for a ValueType devido à forma como os fixups são realizados nos ValueType objetos. O espaço para armazenar a informação de um ValueType é alocado em linha com o objeto que o contém. No entanto, quando o ValueType é encaixado para ser registado com o ObjectManager, perde a ligação com o objeto que o contém. Para garantir que os fixups ocorrem na instância do ValueType armazenado no objeto contendo e não na instância em caixa, o ObjectManager retém alguma informação adicional.

ObjectManager retém informação tanto sobre o objeto como sobre o seu ID. Mais tarde, durante a desserialização, GetObject pode ser usado para descobrir se um determinado ID de objeto já foi desserializado, ou se é uma referência direta a um objeto ainda não desserializado.

Aplica-se a

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

Regista um membro de um array contido num objeto enquanto este está desserializado, associando-o a objectID, e registando 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 registar.

objectID
Int64

O ID do objeto a registar.

info
SerializationInfo

O SerializationInfo usado se obj implementa ISerializable ou tem um ISerializationSurrogate. info será completado com toda a informação de correção necessária e depois passado para o objeto requerido quando esse objeto estiver concluído.

idOfContainingObj
Int64

O ID do objeto que contém obj. Este parâmetro é necessário apenas se obj for um tipo de valor.

member
MemberInfo

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

arrayIndex
Int32[]

Se obj for a ValueType e um membro de um array, arrayIndex contém o índice dentro desse array onde obj existe. arrayIndex é ignorado se obj não for simultaneamente a ValueType e um membro de um array.

Atributos

Exceções

O obj parâmetro é null.

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

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

Observações

Tens de fornecer os member parâmetros e idOfContainingObj se obj for a ValueType devido à forma como os fixups são realizados nos ValueType objetos. O espaço para armazenar a informação de um ValueType é alocado em linha com o objeto que o contém. No entanto, quando o ValueType é encaixado para ser registado com o ObjectManager, perde a ligação com o objeto que o contém. Para garantir que os fixups ocorrem na instância do ValueType armazenado no objeto contendo e não na instância em caixa, o ObjectManager retém alguma informação adicional.

ObjectManager retém informação tanto sobre o objeto como sobre o seu ID. Mais tarde, durante a desserialização, GetObject pode ser usado para descobrir se um determinado ID de objeto já foi desserializado, ou se é uma referência direta a um objeto ainda não desserializado.

Aplica-se a