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