SwitchBootstraps.EnumSwitch Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Método bootstrap para vincular un sitio de llamada invokedynamic que implementa un conmutador en un destino de un tipo de enumeración.
[Android.Runtime.Register("enumSwitch", "(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? EnumSwitch(Java.Lang.Invoke.MethodHandles.Lookup? lookup, string? invocationName, Java.Lang.Invoke.MethodType? invocationType, params Java.Lang.Object[]? labels);
[<Android.Runtime.Register("enumSwitch", "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;", "", ApiSince=36)>]
static member EnumSwitch : Java.Lang.Invoke.MethodHandles.Lookup * string * Java.Lang.Invoke.MethodType * Java.Lang.Object[] -> Java.Lang.Invoke.CallSite
Parámetros
- lookup
- MethodHandles.Lookup
Representa un contexto de búsqueda con los privilegios de accesibilidad del autor de la llamada. Cuando se usa con invokedynamic, la máquina virtual apila automáticamente.
- invocationName
- String
unused
- invocationType
- MethodType
Tipo de invocación de CallSite con dos parámetros, un tipo de enumeración, un int e int como un tipo de valor devuelto.
- labels
- Object[]
etiquetas de mayúsculas y minúsculas: constantes de cadena e instancias de clase, en cualquier combinación
Devoluciones
CallSite que devuelve el primer elemento coincidente como se ha descrito anteriormente.
- Atributos
Excepciones
Un elemento de labels es null; invocationType no acepta una enumeración y un int y devuelve un int; o una etiqueta no es ni un StringClass para el tipo de enumeración de destino.
Un argumento es null.
Comentarios
Método bootstrap para vincular un sitio de llamada invokedynamic que implementa un conmutador en un destino de un tipo de enumeración. Los argumentos estáticos se usan para codificar las etiquetas de mayúsculas y minúsculas asociadas a la construcción del modificador, donde cada etiqueta se puede codificar de dos maneras: como un valor string, que representa el nombre de la constante de enumeración asociada a la etiqueta como un valor class, que representa el tipo de enumeración asociado a un patrón de prueba de tipo El identificador de método de CallSite devuelto tendrá un tipo devuelto de int y acepta dos parámetros: el primer argumento será una instancia de Enum ( destino ) y la segunda será int ( restart ). Si el destino es null, el método del sitio de llamada devuelve -1. Si el destino no es null, el método del sitio de llamada devuelve el índice del primer elemento de la matriz de etiquetas a partir del índice de reinicio que coincide con una de las condiciones siguientes: el elemento es de tipo Class que se puede asignar desde la clase del destino; o el elemento es de tipo String y es igual que el Enum.name() de la constante de enumeración de destino. Si ningún elemento de la matriz de etiquetas coincide con el destino, el método del sitio de llamada devuelve la longitud de la matriz de etiquetas. El valor del índice de reinicio debe estar comprendido entre 0 (ambos incluidos) y la longitud de la matriz de etiquetas (inclusive), tanto como se produce una excepción IndexOutOfBoundsException.
Java documentación para java.lang.runtime.SwitchBootstraps.enumSwitch.
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.