Поделиться через


IObjectReference.GetRealObject(StreamingContext) Метод

Определение

Возвращает реальный объект, который необходимо десериализовать, вместо объекта, задаваемого сериализованным потоком.

public:
 System::Object ^ GetRealObject(System::Runtime::Serialization::StreamingContext context);
public object GetRealObject (System.Runtime.Serialization.StreamingContext context);
[System.Security.SecurityCritical]
public object GetRealObject (System.Runtime.Serialization.StreamingContext context);
abstract member GetRealObject : System.Runtime.Serialization.StreamingContext -> obj
[<System.Security.SecurityCritical>]
abstract member GetRealObject : System.Runtime.Serialization.StreamingContext -> obj
Public Function GetRealObject (context As StreamingContext) As Object

Параметры

context
StreamingContext

StreamingContext, из которого десериализуется текущий объект.

Возвращаемое значение

Реальный объект, который помещается в граф.

Атрибуты

Исключения

У вызывающего объекта отсутствует необходимое разрешение. Вызов не будет работать на сервере со средним уровнем доверия.

Комментарии

Этот метод полезен в ситуации удаленного взаимодействия, когда вы сериализуете объект proxy-creator, а не фактический объект. При десериализации объекта proxy-creator десериализация вызывает его GetRealObject метод . На этом этапе объект proxy-creator создает новый экземпляр прокси-объекта, который ссылается на исходный фактический объект, возможно, на удаленном компьютере. Наконец, объект proxy-creator удаляется и затем освобождается с помощью сборки мусора.

Например, рассмотрим, как Type сериализуются объекты. Вместо передачи данных из Type объекта система передает объект-держатель с именем объекта типа и сведениями о сборке, в которой он находится в объекте, реализующем IObjectReference. Когда доступны имя типа и имя сборки, инфраструктура десериализации вызывает GetRealObject переданный объект-держатель. Этот держатель возвращает Type объект, который вставляется в граф.

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