MethodType Clase

Definición

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

[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
Herencia
MethodType
Atributos
Implementaciones

Comentarios

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos. Los tipos de método deben coincidir correctamente entre un identificador de método y todos sus llamadores, y las operaciones de JVM exigen esta coincidencia en, específicamente durante las llamadas a MethodHandle#invokeExact MethodHandle.invokeExact y MethodHandle#invoke MethodHandle.invoke, y durante la ejecución de invokedynamic instrucciones.

La estructura es un tipo de valor devuelto acompañado de cualquier número de tipos de parámetros. Los tipos (primitivos, voidy referencias) se representan mediante Class objetos . (Para facilitar la exposición, tratamos void como si fuera un tipo. De hecho, denota la ausencia de un tipo de valor devuelto).

Todas las instancias de MethodType son inmutables. Dos instancias son completamente intercambiables si comparan igual. La igualdad depende de la correspondencia en pares de los tipos devueltos y de parámetros y de nada más.

Este tipo solo se puede crear mediante métodos de fábrica. Todos los métodos de fábrica pueden almacenar en caché los valores, aunque no se garantiza el almacenamiento en caché. Algunos métodos de fábrica son estáticos, mientras que otros son métodos virtuales que modifican tipos de método precursor, por ejemplo, cambiando un parámetro seleccionado.

Los métodos de fábrica que operan en grupos de tipos de parámetros se presentan sistemáticamente en dos versiones, de modo que tanto Java matrices como listas de Java se pueden usar para trabajar con grupos de tipos de parámetros. Los métodos parameterArray de consulta y parameterList también proporcionan una opción entre matrices y listas.

MethodType Los objetos a veces se derivan de instrucciones de código de bytes, como invokedynamic, específicamente de las cadenas de descriptor de tipo asociadas a las instrucciones del grupo de constantes de un archivo de clase.

Al igual que las clases y las cadenas, los tipos de método también se pueden representar directamente en el grupo de constantes de un archivo de clase como constantes. Una instrucción puede cargar un ldc tipo de método que hace referencia a una entrada de grupo de constantes adecuada CONSTANT_MethodType . La entrada hace referencia a una CONSTANT_Utf8 ortografía para la cadena de descriptor. (Para obtener información completa sobre las constantes de tipo de método, consulte las secciones 4.4.8 y 5.4.3.5 de la especificación de máquina virtual de Java).

Cuando la JVM materializa un MethodType elemento de una cadena de descriptor, todas las clases denominadas en el descriptor deben ser accesibles y se cargarán. (Pero no es necesario inicializar las clases, como sucede con . CONSTANT_Class Esta carga puede producirse en cualquier momento antes de que el MethodType objeto se derive por primera vez.

Java documentación para java.lang.invoke.MethodType.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
HasPrimitives

Informa si este tipo contiene un argumento primitivo o un valor devuelto.

HasWrappers

Informa si este tipo contiene un argumento contenedor o un valor devuelto.

JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
JniPeerMembers

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Nombre Description
AppendParameterTypes(Class[])

Busca o crea un tipo de método con tipos de parámetros adicionales.

AppendParameterTypes(IList<Class>)

Busca o crea un tipo de método con tipos de parámetros adicionales.

ChangeParameterType(Int32, Class)

Busca o crea un tipo de método con un único tipo de parámetro diferente.

ChangeReturnType(Class)

Busca o crea un tipo de método con un tipo de valor devuelto diferente.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
DescriptorString()

Devuelve una cadena de descriptor para este tipo de método.

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
DropParameterTypes(Int32, Int32)

Busca o crea un tipo de método con algunos tipos de parámetros omitidos.

Equals(Object)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
Erase()

Borra todos los tipos de referencia a Object.

FromMethodDescriptorString(String, ClassLoader)

Busca o crea una instancia de un tipo de método, dada la ortografía de su descriptor de código de bytes.

Generic()

Convierte todos los tipos, tanto de referencia como primitivos, en Object.

GenericMethodType(Int32, Boolean)

Busca o crea un tipo de método cuyos componentes están Object con una matriz final Object[] opcional.

GenericMethodType(Int32)

Busca o crea un tipo de método cuyos componentes son todos .Object

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
InsertParameterTypes(Int32, Class[])

Busca o crea un tipo de método con tipos de parámetros adicionales.

InsertParameterTypes(Int32, IList<Class>)

Busca o crea un tipo de método con tipos de parámetros adicionales.

InvokeMethodType(Class, Class, Class[])

Busca o crea un tipo de método con los componentes especificados.

InvokeMethodType(Class, Class)

Busca o crea un tipo de método con los componentes especificados.

InvokeMethodType(Class, Class[])

Busca o crea una instancia del tipo de método especificado.

InvokeMethodType(Class, IList<Class>)

Busca o crea un tipo de método con los componentes especificados.

InvokeMethodType(Class, MethodType)

Busca o crea un tipo de método con los componentes especificados.

InvokeMethodType(Class)

Busca o crea un tipo de método con los componentes especificados.

JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
LastParameterType()

Devuelve el último tipo de parámetro de este tipo de método.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
ParameterArray()

Presenta los tipos de parámetros como una matriz (un método de conveniencia).

ParameterCount()

Devuelve el número de tipos de parámetros de este tipo de método.

ParameterList()

Presenta los tipos de parámetros como una lista (un método de conveniencia).

ParameterType(Int32)

Devuelve el tipo de parámetro en el índice especificado, dentro de este tipo de método.

ReturnType()

Devuelve el tipo de valor devuelto de este tipo de método.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToMethodDescriptorString()

Genera una representación de descriptor de código de bytes del tipo de método.

ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Unwrap()

Convierte todos los tipos de contenedor en sus tipos primitivos correspondientes.

Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wrap()

Convierte todos los tipos primitivos en sus tipos contenedor correspondientes.

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

ITypeDescriptor+IOfMethod.ChangeParameterType(Int32, Object)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

ITypeDescriptor+IOfMethod.ChangeReturnType(Object)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

ITypeDescriptor+IOfMethod.DropParameterTypes(Int32, Int32)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

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

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

ITypeDescriptor+IOfMethod.ParameterArray()

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

ITypeDescriptor+IOfMethod.ParameterList()

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

ITypeDescriptor+IOfMethod.ParameterType(Int32)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

ITypeDescriptor+IOfMethod.ReturnType()

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Un tipo de método representa los argumentos y el tipo de valor devuelto aceptado y devuelto por un identificador de método, o los argumentos y el tipo de valor devuelto pasado y esperado por un llamador de controlador de métodos.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a