ObjectManager.RegisterObject Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Regista um objeto à medida que este é desserializado.
Sobrecargas
| Name | Description |
|---|---|
| RegisterObject(Object, Int64) |
Regista um objeto à medida que é desserializado, associando-o a |
| RegisterObject(Object, Int64, SerializationInfo) |
Regista um objeto à medida que é desserializado, associando-o a |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
Regista um membro de um objeto à medida que este é desserializado, associando-o a |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
Regista um membro de um array contido num objeto enquanto este está desserializado, associando-o a |
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.