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)
- Исходный код:
- ObjectManager.cs
- Исходный код:
- ObjectManager.cs
- Исходный код:
- ObjectManager.cs
Регистрирует объект при его десериализации, сопоставляя его с 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)
- Исходный код:
- ObjectManager.cs
- Исходный код:
- ObjectManager.cs
- Исходный код:
- ObjectManager.cs
Регистрирует объект при его десериализации, сопоставляя его с 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
Объект SerializationInfo используется, если параметр obj реализует объект ISerializable или имеет объект ISerializationSurrogate.
info завершается с помощью любых требуемых сведений об адресной привязке, а затем передается необходимому объекту, когда объект завершается.
- Атрибуты
Исключения
Параметр obj имеет значение null.
Значение параметра objectID меньше или равно нулю.
objectID уже зарегистрирован для объекта, отличного от obj.
Комментарии
ObjectManager сохраняет сведения об объекте и его идентификаторе. Позже во время десериализации можно использовать для GetObject определения того, десериализуется ли определенный идентификатор объекта или является ли он ссылкой на объект, который еще не был десериализован.
Применяется к
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)
- Исходный код:
- ObjectManager.cs
- Исходный код:
- ObjectManager.cs
- Исходный код:
- ObjectManager.cs
Регистрирует элемент объекта при его десериализации, сопоставляя его с 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);
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
Объект SerializationInfo используется, если параметр obj реализует объект ISerializable или имеет объект ISerializationSurrogate.
info завершается с помощью любых требуемых сведений об адресной привязке, а затем передается необходимому объекту, когда объект завершается.
- idOfContainingObj
- Int64
Идентификатор объекта, который содержит obj. Этот параметр требуется только в случае, если obj является типом значения.
- member
- MemberInfo
Поле в содержащем объекте, где находится obj. Этот параметр имеет смысл только в случае, если obj является типом значения.
- Атрибуты
Исключения
Параметр obj имеет значение null.
Значение параметра objectID меньше или равно нулю.
objectID уже зарегистрирован для объекта, отличного от obj, или member не является FieldInfo, а member не имеет значение null.
Комментарии
Необходимо указать member параметры и idOfContainingObj , если obj является , ValueType из-за способа исправления ValueType объектов. Пространство для хранения информации для ValueType выделяется вместе с содержащим его объектом. Однако при ValueType упаковке для регистрации с ObjectManagerпомощью он теряет связь с содержащим его объектом. Чтобы гарантировать, что исправления происходят в экземпляре объекта , ValueType хранящегося в содержавшемся объекте, а не в упаковавшемся экземпляре ObjectManager , компонент сохраняет некоторые дополнительные сведения.
ObjectManager сохраняет сведения об объекте и его идентификаторе. Позже во время десериализации GetObject можно использовать для обнаружения десериализации определенного идентификатора объекта или же это прямая ссылка на объект, который еще не десериализован.
Применяется к
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])
- Исходный код:
- ObjectManager.cs
- Исходный код:
- ObjectManager.cs
- Исходный код:
- ObjectManager.cs
Регистрирует элемент массива, содержащийся в объекте при его десериализации, сопоставляя его с 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);
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
Объект SerializationInfo используется, если параметр obj реализует объект 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 не является FieldInfo, а member не имеет значение null.
Комментарии
Необходимо указать member параметры и idOfContainingObj , если obj является , ValueType из-за способа исправления ValueType объектов. Пространство для хранения информации для ValueType выделяется вместе с содержащим его объектом. Однако при ValueType упаковке для регистрации с ObjectManagerпомощью он теряет связь с содержащим его объектом. Чтобы гарантировать, что исправления происходят в экземпляре объекта , ValueType хранящегося в содержавшемся объекте, а не в упаковавшемся экземпляре ObjectManager , компонент сохраняет некоторые дополнительные сведения.
ObjectManager сохраняет сведения об объекте и его идентификаторе. Позже во время десериализации GetObject можно использовать для обнаружения десериализации определенного идентификатора объекта или же это прямая ссылка на объект, который еще не десериализован.