ObjectManager.RegisterObject Метод

Определение

Регистрирует объект по мере десериализации.

Перегрузки

Имя Описание
RegisterObject(Object, Int64)

Регистрирует объект по мере десериализации, связывание его с objectID.

RegisterObject(Object, Int64, SerializationInfo)

Регистрирует объект по мере десериализации, связывания его с objectIDи записью используемого SerializationInfo объекта.

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

Регистрирует член объекта, так как он десериализирован, связывание его с objectIDобъектом и запись.SerializationInfo

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

Регистрирует элемент массива, содержащегося в объекте, при десериализации, связывании его с objectIDи записью SerializationInfo.

RegisterObject(Object, Int64)

Регистрирует объект по мере десериализации, связывание его с 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)

Параметры

obj
Object

Объект для регистрации.

objectID
Int64

Идентификатор объекта для регистрации.

Атрибуты

Исключения

Параметр obj имеет значение null.

Параметр objectID меньше нуля или равен нулю.

Объект objectID уже зарегистрирован для объекта, отличного от objнего.

Комментарии

ObjectManager сохраняет сведения о объекте и его идентификаторе. Позже во время десериализации GetObject можно использовать для определения того, был ли определенный идентификатор объекта десериализован или является ли она ссылкой на объект, который еще не десериализирован.

Применяется к

RegisterObject(Object, Int64, SerializationInfo)

Регистрирует объект по мере десериализации, связывания его с objectIDи записью используемого SerializationInfo объекта.

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)

Параметры

obj
Object

Объект для регистрации.

objectID
Int64

Идентификатор объекта для регистрации.

info
SerializationInfo

Используется при SerializationInfoobj реализации ISerializable или наличии ISerializationSurrogate. info будет завершена любая требуемая информация об исправлении, а затем передается в обязательный объект после завершения этого объекта.

Атрибуты

Исключения

Параметр obj имеет значение null.

Параметр objectID меньше нуля или равен нулю.

Объект objectID уже зарегистрирован для объекта, отличного от objнего.

Комментарии

ObjectManager сохраняет сведения о объекте и его идентификаторе. Позже во время десериализации можно использовать GetObject для обнаружения того, был ли определенный идентификатор объекта уже десериализирован или если это прямая ссылка на объект, который еще не был десериализирован.

Применяется к

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

Регистрирует член объекта, так как он десериализирован, связывание его с objectIDобъектом и запись.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)

Параметры

obj
Object

Объект для регистрации.

objectID
Int64

Идентификатор объекта для регистрации.

info
SerializationInfo

Используется при SerializationInfoobj реализации ISerializable или наличии ISerializationSurrogate. info будет завершена любая требуемая информация об исправлении, а затем передается в обязательный объект после завершения этого объекта.

idOfContainingObj
Int64

Идентификатор объекта, содержащего obj. Этот параметр требуется только в том случае, если obj это тип значения.

member
MemberInfo

Поле в содержаемом объекте, где obj существует. Этот параметр имеет значение только в том случае, если obj это тип значения.

Атрибуты

Исключения

Параметр obj имеет значение null.

Параметр objectID меньше нуля или равен нулю.

Объект objectID уже зарегистрирован для объекта, отличного от objобъекта или member не является и member не FieldInfonullявляется.

Комментарии

Необходимо указать member параметры и idOfContainingObj параметры, если obj это связано с тем, как исправления выполняются ValueType на ValueType объектах. Пространство, в котором хранятся сведения для объекта ValueType , выделяется в соответствии с его содержащим объектом. Однако при ValueType регистрации ObjectManagerв ячейке он теряет соединение со своим содержащим объектом. Чтобы гарантировать, что исправления происходят в экземпляре ValueType хранимого в содержаемом объекте, а не в прямоугольном экземпляре, ObjectManager сохраняются некоторые дополнительные сведения.

ObjectManager сохраняет сведения о объекте и его идентификаторе. Позже во время десериализации GetObject можно использовать для обнаружения того, был ли определенный идентификатор объекта уже десериализирован или является ли она ссылкой на объект, который еще не десериализирован.

Применяется к

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

Регистрирует элемент массива, содержащегося в объекте, при десериализации, связывании его с objectIDи записью 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())

Параметры

obj
Object

Объект для регистрации.

objectID
Int64

Идентификатор объекта для регистрации.

info
SerializationInfo

Используется при SerializationInfoobj реализации ISerializable или наличии ISerializationSurrogate. info будет завершена любая требуемая информация об исправлении, а затем передается в обязательный объект после завершения этого объекта.

idOfContainingObj
Int64

Идентификатор объекта, содержащего obj. Этот параметр требуется только в том случае, если obj это тип значения.

member
MemberInfo

Поле в содержаемом объекте, где obj существует. Этот параметр имеет значение только в том случае, если obj это тип значения.

arrayIndex
Int32[]

Если obj это ValueType и член массива, arrayIndex содержит индекс в этом массиве, где obj существует. arrayIndex игнорируется, если obj не является как элементом ValueType массива, так и элементом.

Атрибуты

Исключения

Параметр obj имеет значение null.

Параметр objectID меньше нуля или равен нулю.

Объект objectID уже зарегистрирован для объекта, отличного от objобъекта или member не является и member не FieldInfonullявляется.

Комментарии

Необходимо указать member параметры и idOfContainingObj параметры, если obj это связано с тем, как исправления выполняются ValueType на ValueType объектах. Пространство, в котором хранятся сведения для объекта ValueType , выделяется в соответствии с его содержащим объектом. Однако при ValueType регистрации ObjectManagerв ячейке он теряет соединение со своим содержащим объектом. Чтобы гарантировать, что исправления происходят в экземпляре ValueType хранимого в содержаемом объекте, а не в прямоугольном экземпляре, ObjectManager сохраняются некоторые дополнительные сведения.

ObjectManager сохраняет сведения о объекте и его идентификаторе. Позже во время десериализации GetObject можно использовать для обнаружения того, был ли определенный идентификатор объекта уже десериализирован или является ли она ссылкой на объект, который еще не десериализирован.

Применяется к