Язык

ObjectInputStream.ResolveProxyClass(String[]) Метод

Определение

Возвращает прокси-класс, реализующий интерфейсы, именованные в дескрипторе класса прокси; Подклассы могут реализовать этот метод для чтения пользовательских данных из потока вместе с дескрипторами для динамических прокси-классов, что позволяет им использовать альтернативный механизм загрузки интерфейсов и прокси-класса.

[Android.Runtime.Register("resolveProxyClass", "([Ljava/lang/String;)Ljava/lang/Class;", "GetResolveProxyClass_arrayLjava_lang_String_Handler")]
protected virtual Java.Lang.Class? ResolveProxyClass(string[]? interfaces);
[<Android.Runtime.Register("resolveProxyClass", "([Ljava/lang/String;)Ljava/lang/Class;", "GetResolveProxyClass_arrayLjava_lang_String_Handler")>]
abstract member ResolveProxyClass : string[] -> Java.Lang.Class
override this.ResolveProxyClass : string[] -> Java.Lang.Class

Параметры

interfaces
String[]

Список имен интерфейсов, десериализация которых была десериализована в дескрипторе класса прокси-сервера

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

прокси-класс для указанных интерфейсов

Атрибуты

Исключения

Значение , если не удается создать прокси-класс или любой из указанных интерфейсов.

Если при чтении из исходного потока возникает ошибка.

Комментарии

Возвращает прокси-класс, реализующий интерфейсы, именованные в дескрипторе класса прокси; Подклассы могут реализовать этот метод для чтения пользовательских данных из потока вместе с дескрипторами для динамических прокси-классов, что позволяет им использовать альтернативный механизм загрузки интерфейсов и прокси-класса.

Этот метод вызывается ровно один раз для каждого дескриптора уникального класса прокси-сервера в потоке.

Соответствующий метод имеет ObjectOutputStream значение annotateProxyClass. Для данного подклассаObjectInputStream, который переопределяет этот метод, метод в соответствующем подклассе ObjectOutputStream должен записывать данные или объекты, annotateProxyClass прочитанные этим методом.

Реализация этого метода ObjectInputStream по умолчанию возвращает результат вызова Proxy.getProxyClass со списком Class объектов для интерфейсов, именованных в параметре interfaces . Объект Class для каждого имени i интерфейса — это значение, возвращаемое вызовом

Class.forName(i, false, loader)

где loader первый загрузчик, отличныйnull от класса, вверх по стеку выполнения, или null если в стеке нетnull неклассовых загрузчиков (тот же выбор загрузчика класса, который используется методом resolveClass ). Если ни один из разрешенных интерфейсов не является общедоступным, то это же значение loader также является загрузчиком класса, переданным Proxy.getProxyClassв; если отсутствуют открытые интерфейсы, их загрузчик класса передается вместо этого (если возникает более одного неогласованного загрузчика класса интерфейса, IllegalAccessError создается исключение). Если Proxy.getProxyClass вызывает IllegalArgumentExceptionисключение, resolveProxyClass будет вызываться ClassNotFoundException содержащий объект IllegalArgumentException.

Добавлено в версии 1.3.

Java документации по java.io.ObjectInputStream.resolveProxyClass(java.lang.String[]).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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