Language

SwitchBootstraps.TypeSwitch メソッド

定義

参照型ターゲットで切り替える invokedynamic 呼び出しサイトをリンクします。

[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

パラメーター

lookup
MethodHandles.Lookup

呼び出し元のアクセシビリティ特権を持つ参照コンテキスト。

invocationName
String

Unused.

invocationType
MethodType

参照型パラメーター、 int パラメーター、および int 戻り値の型を持つ呼び出しサイト呼び出しの種類。

labels
Object[]

String、Int32、Class、または列挙型の説明値で表されるケース ラベル。

返品

null ターゲットの-1、再起動インデックスの前後の最初の一致するラベルのインデックス、またはラベルが一致しない場合にlabels.Lengthを返す呼び出しサイト。

属性

例外

labelsの要素はnullです。invocationTypeは参照型とintを受け入れてintを返しません。または、ラベルがString、Int32、Class、または列挙型の説明値ではありません。

引数が null。

注釈

返された呼び出しサイトは、nullターゲットの-1を生成します。 null 以外のターゲットの場合は、再起動インデックスから検索し、最初に一致するラベル インデックスを返します。一致するラベルがない場合は labels.Length します。 再起動インデックスは、0 から labels.Length までの範囲で指定する必要があります。それ以外の場合は、呼び出しサイトを呼び出すと IndexOutOfBoundsExceptionがスローされます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象