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
- Наследование
- Атрибуты
- Реализации
Комментарии
Тип метода представляет аргументы и тип возвращаемого значения, принятые и возвращаемые дескриптором метода, или аргументы и тип возвращаемого значения, переданные и ожидаемые вызывающим дескриптором метода. Типы методов должны быть правильно сопоставлены между дескриптором метода и всеми его вызывающими элементами, а операции виртуальной машины 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 |
Возвращает класс среды выполнения данного объекта |
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() |
Удаляет все ссылочные типы до |
FromMethodDescriptorString(String, ClassLoader) |
Находит или создает экземпляр типа метода с учетом орфографии дескриптора байт-кода. |
Generic() |
Преобразует все типы, как ссылочные, так и примитивные, в |
GenericMethodType(Int32) |
Находит или создает тип метода, все компоненты которого являются |
GenericMethodType(Int32, Boolean) |
Находит или создает тип метода, компоненты которого имеют |
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) |
Тип метода представляет аргументы и тип возвращаемого значения, принятые и возвращаемые дескриптором метода, или аргументы и тип возвращаемого значения, переданные и ожидаемые вызывающим дескриптором метода. |