Язык

MethodType Класс

Определение

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

[Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MethodType : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Lang.Invoke.ITypeDescriptor.IOfMethod
[<Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)>]
type MethodType = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ITypeDescriptor.IOfMethod
    interface ITypeDescriptor
Наследование
MethodType
Атрибуты
Реализации

Комментарии

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода. Типы методов должны быть правильно сопоставлены между дескриптором метода и всеми вызывающими средствами, а операции JVM применяют это сопоставление, в частности во время вызовов MethodHandle#invokeExact MethodHandle.invokeExact и MethodHandle#invoke MethodHandle.invokeво время выполнения инструкций invokedynamic .

Структура — это возвращаемый тип, сопровождаемый любым количеством типов параметров. Типы (примитивные и voidссылочные) представлены объектами Class . (Для простоты экспозиции мы лечимся void , как если бы это был тип. На самом деле это означает отсутствие возвращаемого типа.)

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

Этот тип можно создать только с помощью методов фабрики. Все методы фабрики могут кэшировать значения, хотя кэширование не гарантируется. Некоторые методы фабрики являются статическими, а другие — виртуальными методами, которые изменяют типы методов предшественника, например путем изменения выбранного параметра.

Методы фабрики, работающие с группами типов параметров, систематически представлены в двух версиях, поэтому для работы с группами типов параметров можно использовать как Java массивы, так и списки Java. Методы parameterArray запроса также parameterList предоставляют выбор между массивами и списками.

MethodType объекты иногда являются производными от инструкций байт-кода, таких как invokedynamic, в частности, из строк дескриптора типа, связанных с инструкциями в пуле констант файла класса.

Как и классы и строки, типы методов также могут быть представлены непосредственно в пуле констант файла класса в виде констант. Тип метода может быть загружен инструкцией ldc , которая ссылается на подходящую CONSTANT_MethodType запись пула констант. Запись ссылается на CONSTANT_Utf8 орфографию для строки дескриптора. (Полные сведения о константах типа метода см. в разделах 4.4.8 и 5.4.3.5 спецификации виртуальных машин Java.)

Когда JVM материализует MethodType строку дескриптора, все классы, именованные в дескрипторе, должны быть доступны и будут загружены. (Но классы не должны инициализироваться, как и в случае с CONSTANT_Class.) Эта загрузка может происходить в любое время до MethodType первого производного объекта.

Java документации по java.lang.invoke.MethodType.

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

Свойства

Имя. Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
HasPrimitives

Сообщает, содержит ли этот тип примитивный аргумент или возвращаемое значение.

HasWrappers

Сообщает, содержит ли этот тип аргумент-оболочку или возвращаемое значение.

JniIdentityHashCode

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

(Унаследовано от Object)
JniManagedPeerState

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
JniPeerMembers

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)
ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)

Методы

Имя. Описание
AppendParameterTypes(Class[])

Находит или создает тип метода с дополнительными типами параметров.

AppendParameterTypes(IList<Class>)

Находит или создает тип метода с дополнительными типами параметров.

ChangeParameterType(Int32, Class)

Находит или создает тип метода с одним другим типом параметра.

ChangeReturnType(Class)

Находит или создает тип метода с другим типом возвращаемого значения.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
DescriptorString()

Возвращает строку дескриптора для этого типа метода.

Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
DropParameterTypes(Int32, Int32)

Находит или создает тип метода с некоторыми типами параметров, опущенными.

Equals(Object)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
Erase()

Удаляет все ссылочные типы Objectв .

FromMethodDescriptorString(String, ClassLoader)

Находит или создает экземпляр типа метода, учитывая орфографию дескриптора байт-кода.

Generic()

Преобразует все типы, как ссылки, так и примитивы, в Object.

GenericMethodType(Int32, Boolean)

Находит или создает тип метода, компоненты которого имеют Object необязательный конечный Object[] массив.

GenericMethodType(Int32)

Находит или создает тип метода, компоненты которого являются всеми Object.

GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
InsertParameterTypes(Int32, Class[])

Находит или создает тип метода с дополнительными типами параметров.

InsertParameterTypes(Int32, IList<Class>)

Находит или создает тип метода с дополнительными типами параметров.

InvokeMethodType(Class, Class, Class[])

Находит или создает тип метода с заданными компонентами.

InvokeMethodType(Class, Class)

Находит или создает тип метода с заданными компонентами.

InvokeMethodType(Class, Class[])

Находит или создает экземпляр заданного типа метода.

InvokeMethodType(Class, IList<Class>)

Находит или создает тип метода с заданными компонентами.

InvokeMethodType(Class, MethodType)

Находит или создает тип метода с заданными компонентами.

InvokeMethodType(Class)

Находит или создает тип метода с заданными компонентами.

JavaFinalize()
Устаревшие.

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

(Унаследовано от Object)
LastParameterType()

Возвращает последний тип параметра этого типа метода.

Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
ParameterArray()

Представляет типы параметров в виде массива (удобный метод).

ParameterCount()

Возвращает количество типов параметров в этом типе метода.

ParameterList()

Представляет типы параметров в виде списка (удобный метод).

ParameterType(Int32)

Возвращает тип параметра по указанному индексу в этом типе метода.

ReturnType()

Возвращает возвращаемый тип этого типа метода.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToMethodDescriptorString()

Создает дескриптор байтового кода для типа метода.

ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Unwrap()

Преобразует все типы оболочки в соответствующие примитивные типы.

Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wrap()

Преобразует все примитивные типы в соответствующие типы оболочки.

Явные реализации интерфейса

Имя. Описание
IJavaPeerable.Disposed()

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

ITypeDescriptor+IOfMethod.ChangeParameterType(Int32, Object)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

ITypeDescriptor+IOfMethod.ChangeReturnType(Object)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

ITypeDescriptor+IOfMethod.DropParameterTypes(Int32, Int32)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

ITypeDescriptor+IOfMethod.InsertParameterTypes(Int32, Object[])

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

ITypeDescriptor+IOfMethod.ParameterArray()

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

ITypeDescriptor+IOfMethod.ParameterList()

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

ITypeDescriptor+IOfMethod.ParameterType(Int32)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

ITypeDescriptor+IOfMethod.ReturnType()

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Тип метода представляет аргументы и возвращаемый тип, принятый и возвращаемый дескриптором метода, или аргументы и возвращаемый тип, переданный и ожидаемый вызывающим обработчиком метода.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

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