ObjectManager.RegisterObject Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Регистрирует объект по мере десериализации.
Перегрузки
| Имя | Описание |
|---|---|
| RegisterObject(Object, Int64) |
Регистрирует объект по мере десериализации, связывание его с |
| RegisterObject(Object, Int64, SerializationInfo) |
Регистрирует объект по мере десериализации, связывания его с |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
Регистрирует член объекта, так как он десериализирован, связывание его с |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
Регистрирует элемент массива, содержащегося в объекте, при десериализации, связывании его с |
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 можно использовать для обнаружения того, был ли определенный идентификатор объекта уже десериализирован или является ли она ссылкой на объект, который еще не десериализирован.