Lenguaje

SwitchBootstraps.TypeSwitch Método

Definición

Vincula un invokedynamic sitio de llamada que cambia en un destino de tipo de referencia.

[Android.Runtime.Register("typeSwitch", "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;", "", ApiSince=36)]
public static Java.Lang.Invoke.CallSite? TypeSwitch(Java.Lang.Invoke.MethodHandles.Lookup? lookup, string? invocationName, Java.Lang.Invoke.MethodType? invocationType, params Java.Lang.Object[]? labels);
[<Android.Runtime.Register("typeSwitch", "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;", "", ApiSince=36)>]
static member TypeSwitch : Java.Lang.Invoke.MethodHandles.Lookup * string * Java.Lang.Invoke.MethodType * Java.Lang.Object[] -> Java.Lang.Invoke.CallSite

Parámetros

lookup
MethodHandles.Lookup

Contexto de búsqueda con privilegios de accesibilidad del autor de la llamada.

invocationName
String

No usado.

invocationType
MethodType

Tipo de invocación de sitio de llamada con un parámetro de tipo de referencia, un int parámetro y un int tipo de valor devuelto.

labels
Object[]

Etiquetas de mayúsculas y minúsculas, representadas por Stringvalores Classde enumeración Int32y descripción.

Devoluciones

Un sitio de llamada que devuelve -1 para un null destino, el índice de la primera etiqueta coincidente en o después del índice de reinicio, o labels.Length cuando ninguna etiqueta coincide.

Atributos

Excepciones

Un elemento de es ; invocationType no acepta un tipo de labels referencia y un int y devuelve un int; o una etiqueta no es un Stringvalor , Int32, Classo enum-descriptionnull.

Un argumento es null.

Comentarios

El sitio de llamada devuelto genera -1 para un null destino. En el caso de un destino que no sea NULL, busca desde el índice de reinicio y devuelve el primer índice de etiqueta coincidente o labels.Length cuando no coincide ninguna etiqueta. El índice de reinicio debe ser de cero a labels.Length, ambos inclusive; de lo contrario, al invocar el sitio de llamada se produce IndexOutOfBoundsException.

Documentación de Java para java.lang.runtime.SwitchBootstraps.typeSwitch.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a