MethodType Класс

Определение

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

[Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MethodType : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, 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
Атрибуты
Реализации

Комментарии

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

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

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

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Свойства

Class

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

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

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

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

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

HasWrappers

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

JniIdentityHashCode

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

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

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

PeerReference

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

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

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

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

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

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

Методы

AppendParameterTypes(Class[])

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

AppendParameterTypes(IList<Class>)

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

ChangeParameterType(Int32, Class)

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

ChangeReturnType(Class)

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

Clone()

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

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

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

Dispose()

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

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

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

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

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

Equals(Object)

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

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

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

FromMethodDescriptorString(String, ClassLoader)

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

Generic()

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

GenericMethodType(Int32)

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

GenericMethodType(Int32, Boolean)

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

GetHashCode()

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

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

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

InsertParameterTypes(Int32, IList<Class>)

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

InvokeMethodType(Class)

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

InvokeMethodType(Class, Class)

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

InvokeMethodType(Class, Class, Class[])

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

InvokeMethodType(Class, Class[])

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

InvokeMethodType(Class, IList<Class>)

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

InvokeMethodType(Class, MethodType)

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

JavaFinalize()

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

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

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

Notify()

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

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

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

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

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

ParameterCount()

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

ParameterList()

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

ParameterType(Int32)

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

ReturnType()

Возвращает тип возвращаемого значения этого типа метода.

SetHandle(IntPtr, JniHandleOwnership)

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

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

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

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

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

ToString()

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

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

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

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

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

Wait()

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>.

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

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

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

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

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

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

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

IJavaPeerable.Disposed()

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

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

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

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

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

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

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

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

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

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

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

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

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

(Унаследовано от Object)
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()

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

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

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