MethodHandles.Lookup.FindStatic(Class, String, MethodType) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
產生靜態方法的方法手柄。
[Android.Runtime.Register("findStatic", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public Java.Lang.Invoke.MethodHandle FindStatic(Java.Lang.Class refc, string name, Java.Lang.Invoke.MethodType type);
[<Android.Runtime.Register("findStatic", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
member this.FindStatic : Java.Lang.Class * string * Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle
參數
- refc
- Class
存取該方法的類別
- name
- String
方法名稱
- type
- MethodType
方法類型
傳回
所需方法的 handle
- 屬性
備註
產生靜態方法的方法手柄。 方法的 handle 類型將與方法相同。 (由於靜態方法不接收接收器,因此不會在方法處理型態中插入額外的接收器參數,與 或 #findVirtual findVirtual#findSpecial findSpecial的 相符不同。)方法及其所有參數類型必須對查找物件可存取。
回傳的方法代柄將具有 MethodHandle#asVarargsCollector 變數元數,當且僅當該方法的變數元數修飾位0x0080元()被設定為 MethodHandle#asVarargsCollector。
如果呼叫回傳的方法 handle ,該方法的類別會被初始化,若尚未初始化。
<b>範例:</b><引用>
{@code
import static java.lang.invoke.MethodHandles.*;
import static java.lang.invoke.MethodType.*;
...
MethodHandle MH_asList = publicLookup().findStatic(Arrays.class,
"asList", methodType(List.class, Object[].class));
assertEquals("[x, y]", MH_asList.invoke("x", "y").toString());
}
</區塊引用>
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。