Share via


MethodType 類別

定義

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

[Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MethodType : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.Invoke.ITypeDescriptor.IOfMethod
[<Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)>]
type MethodType = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ITypeDescriptor.IOfMethod
    interface ITypeDescriptor
繼承
MethodType
屬性
實作

備註

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。 方法類型必須在方法控制碼及其所有呼叫端之間正確比對,而 JVM 的作業會強制執行此比對,特別是在對 和 MethodHandle#invoke MethodHandle.invoke 的呼叫 MethodHandle#invokeExact MethodHandle.invokeExact 期間,以及在指令執行 invokedynamic 期間。

結構是傳回型別,隨附任意數目的參數類型。 (基本、、 void 和 參考) 的類型是由 Class 物件表示。 (為了方便說明,我們會將其視為 void 類型。事實上,這表示沒有傳回 type.)

的所有實例 MethodType 都是不可變的。 如果兩個實例相等,則兩個實例完全可互換。 相等取決於傳回和參數類型的成對對應,以及任何其他專案。

此類型只能由 Factory 方法建立。 雖然不保證快取,但所有處理站方法都可以快取值。 有些處理站方法是靜態的,而其他則是虛擬方法,可藉由變更選取的參數來修改前導方法類型。

在參數類型群組上運作的 Factory 方法會在兩個版本中有系統地呈現,因此 JAVA 陣列和 JAVA 清單都可以用來處理參數類型的群組。 查詢方法 parameterArrayparameterList 也提供陣列和清單之間的選擇。

MethodType 物件有時衍生自位元組程式碼指令,例如 invokedynamic ,特別是來自類別檔案之常數集區中相關指令的類型描述項字串。

如同類別和字串,方法類型也可以直接在類別檔案的常數集區中表示為常數。 方法類型可由參考適當 CONSTANT_MethodType 常數集區專案的指令載入 ldc 。 專案是指 CONSTANT_Utf8 描述項字串的拼字。 (如需方法類型常數的完整詳細資料,請參閱 JAVA 虛擬機器規格.) 的 4.4.8 和 5.4.3.5 節

當 JVM 從描述項字串具體化 MethodType 時,必須在描述項中命名的所有類別都可供存取,而且會載入。 (但不需要初始化類別,如同 .) 此載入可能會在物件第一 CONSTANT_Class 次衍生之前 MethodType 隨時發生。

java.lang.invoke.MethodType JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
HasPrimitives

報告此類型是否包含基本引數或傳回值。

HasWrappers

報告此類型是否包含包裝函式引數或傳回值。

JniIdentityHashCode

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
JniPeerMembers

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

PeerReference

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

(繼承來源 Object)
ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

(繼承來源 Object)

方法

AppendParameterTypes(Class[])

尋找或建立具有其他參數類型的方法類型。

AppendParameterTypes(IList<Class>)

尋找或建立具有其他參數類型的方法類型。

ChangeParameterType(Int32, Class)

尋找或建立具有單一不同參數類型的方法類型。

ChangeReturnType(Class)

尋找或建立具有不同傳回型別的方法型別。

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
DescriptorString()

傳回這個方法類型的描述項字串。

Dispose()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
Dispose(Boolean)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
DropParameterTypes(Int32, Int32)

尋找或建立方法類型,並省略某些參數類型。

Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
Erase()

清除 的所有參考型別 Object

FromMethodDescriptorString(String, ClassLoader)

根據位元組程式碼描述元的拼字,尋找或建立方法類型的實例。

Generic()

將參考和基本類型的所有型別轉換為 Object

GenericMethodType(Int32)

尋找或建立方法類型,其元件全部 Object 都是 。

GenericMethodType(Int32, Boolean)

尋找或建立方法類型,其元件具有 Object 選擇性的尾端 Object[] 陣列。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
InsertParameterTypes(Int32, Class[])

尋找或建立具有其他參數類型的方法類型。

InsertParameterTypes(Int32, IList<Class>)

尋找或建立具有其他參數類型的方法類型。

InvokeMethodType(Class)

尋找或建立具有指定元件的方法類型。

InvokeMethodType(Class, Class)

尋找或建立具有指定元件的方法類型。

InvokeMethodType(Class, Class, Class[])

尋找或建立具有指定元件的方法類型。

InvokeMethodType(Class, Class[])

尋找或建立指定方法類型的實例。

InvokeMethodType(Class, IList<Class>)

尋找或建立具有指定元件的方法類型。

InvokeMethodType(Class, MethodType)

尋找或建立具有指定元件的方法類型。

JavaFinalize()

當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。

(繼承來源 Object)
LastParameterType()

傳回這個方法型別的最後一個參數類型。

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
ParameterArray()

將參數類型呈現為數組, (方便的方法) 。

ParameterCount()

傳回這個方法類型中的參數類型數目。

ParameterList()

將參數類型呈現為清單, (方便的方法) 。

ParameterType(Int32)

傳回這個方法類型內位於指定索引處的參數類型。

ReturnType()

傳回這個方法類型的傳回型別。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
ToMethodDescriptorString()

產生方法型別的位元組程式碼描述元表示。

ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
Unwrap()

將所有包裝函式類型轉換為其對應的基本類型。

Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wrap()

將所有基本類型轉換為其對應的包裝函式類型。

明確介面實作

IJavaPeerable.Disposed()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
IJavaPeerable.Finalized()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

(繼承來源 Object)
ITypeDescriptor+IOfMethod.ChangeParameterType(Int32, Object)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

ITypeDescriptor+IOfMethod.ChangeReturnType(Object)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

ITypeDescriptor+IOfMethod.DropParameterTypes(Int32, Int32)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

ITypeDescriptor+IOfMethod.InsertParameterTypes(Int32, Object[])

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

ITypeDescriptor+IOfMethod.ParameterArray()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

ITypeDescriptor+IOfMethod.ParameterList()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

ITypeDescriptor+IOfMethod.ParameterType(Int32)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

ITypeDescriptor+IOfMethod.ReturnType()

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

GetJniTypeName(IJavaPeerable)

方法類型代表方法控制碼接受和傳回的引數和傳回型別,或是方法控制碼呼叫端所傳遞和預期的引數和傳回型別。

適用於