語言

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

閑置。

invocationType
MethodType

呼叫站點調用類型包含參考型參數、參數 int 型態及 int 回傳型別。

labels
Object[]

案例標籤,以 String、 Int32、 Class或列舉描述值表示。

傳回

呼叫站點,回傳 -1 目標 null 、重啟索引後第一個匹配標籤的索引,或 labels.Length 當無標籤匹配時。

屬性

例外狀況

元素 labels 是null;invocationType不接受參考型別,且 int 和 回傳 ;int或標籤不是 String、 、 Int32Class或 enum-description 值。

一個參數為 null。

備註

回傳呼叫網站為目標null產生-1。 對於非空目標,它會從重新啟動索引搜尋,並回傳第一個匹配的標籤索引,或 labels.Length 當沒有標籤匹配時。 重新啟動索引必須從零到 labels.Length包含 ;否則,呼叫呼叫站會拋 IndexOutOfBoundsException出 。

的 java.lang.runtime.SwitchBootstraps.typeSwitchJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於