MethodType Kelas

Definisi

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

[Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MethodType : Java.Lang.Object, IDisposable, 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
Warisan
MethodType
Atribut
Penerapan

Keterangan

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode. Jenis metode harus dicocokkan dengan benar antara handel metode dan semua pemanggilnya, dan operasi JVM memberlakukan pencocokan ini, khususnya selama panggilan ke MethodHandle#invokeExact MethodHandle.invokeExact dan MethodHandle#invoke MethodHandle.invoke, dan selama eksekusi invokedynamic instruksi.

Struktur adalah jenis pengembalian yang disertai dengan sejumlah jenis parameter. Jenis (primitif, void, dan referensi) diwakili oleh Class objek. (Untuk kemudahan eksposisi, kami memperlakukan void seolah-olah itu adalah jenis. Bahkan, itu menunjukkan tidak adanya jenis pengembalian.)

Semua instans MethodType tidak dapat diubah. Dua instans sepenuhnya dapat dipertukarkan jika dibandingkan. Kesetaraan tergantung pada korespondensi berpasangan dari jenis pengembalian dan parameter dan tidak pada yang lain.

Jenis ini hanya dapat dibuat dengan metode pabrik. Semua metode pabrik dapat menyimpan nilai cache, meskipun penembolokan tidak dijamin. Beberapa metode pabrik bersifat statis, sementara yang lain adalah metode virtual yang memodifikasi jenis metode prekursor, misalnya, dengan mengubah parameter yang dipilih.

Metode pabrik yang beroperasi pada grup jenis parameter disajikan secara sistematis dalam dua versi, sehingga array Java dan daftar Java dapat digunakan untuk bekerja dengan grup jenis parameter. Metode parameterArray kueri dan parameterList juga menyediakan pilihan antara array dan daftar.

MethodType objek terkadang berasal dari instruksi bytecode seperti invokedynamic, khususnya dari string deskriptor jenis yang terkait dengan instruksi dalam kumpulan konstanta file kelas.

Seperti kelas dan string, jenis metode juga dapat diwakili langsung dalam kumpulan konstanta file kelas sebagai konstanta. Jenis metode dapat dimuat oleh ldc instruksi yang mengacu pada entri kumpulan konstanta yang sesuai CONSTANT_MethodType . Entri mengacu pada CONSTANT_Utf8 ejaan untuk string deskriptor. (Untuk detail lengkap tentang konstanta jenis metode, lihat bagian 4.4.8 dan 5.4.3.5 dari spesifikasi komputer virtual Java.)

Ketika JVM mewujudkan MethodType string dari deskriptor, semua kelas bernama dalam deskriptor harus dapat diakses, dan akan dimuat. (Tetapi kelas tidak perlu diinisialisasi, seperti halnya dengan CONSTANT_Class.) Pemuatan ini dapat terjadi kapan saja sebelum MethodType objek diturunkan terlebih dahulu.

Java dokumentasi untuk java.lang.invoke.MethodType.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Properti

Nama Deskripsi
Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
HasPrimitives

Melaporkan jika jenis ini berisi argumen primitif atau nilai pengembalian.

HasWrappers

Melaporkan jika jenis ini berisi argumen pembungkus atau nilai pengembalian.

JniIdentityHashCode

Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop.

(Diperoleh dari Object)
JniManagedPeerState

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
JniPeerMembers

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

(Diperoleh dari Object)
ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

(Diperoleh dari Object)

Metode

Nama Deskripsi
AppendParameterTypes(Class[])

Menemukan atau membuat jenis metode dengan jenis parameter tambahan.

AppendParameterTypes(IList<Class>)

Menemukan atau membuat jenis metode dengan jenis parameter tambahan.

ChangeParameterType(Int32, Class)

Menemukan atau membuat jenis metode dengan satu jenis parameter yang berbeda.

ChangeReturnType(Class)

Menemukan atau membuat jenis metode dengan jenis pengembalian yang berbeda.

Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
DescriptorString()

Mengembalikan string deskriptor untuk jenis metode ini.

Dispose()

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
Dispose(Boolean)

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
DisposeUnlessReferenced()

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
DropParameterTypes(Int32, Int32)

Menemukan atau membuat jenis metode dengan beberapa jenis parameter dihilangkan.

Equals(Object)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
Erase()

Menghapus semua jenis referensi ke Object.

FromMethodDescriptorString(String, ClassLoader)

Menemukan atau membuat instans jenis metode, mengingat ejaan deskriptor bytecode-nya.

Generic()

Mengonversi semua jenis, baik referensi maupun primitif, menjadi Object.

GenericMethodType(Int32, Boolean)

Menemukan atau membuat jenis metode yang komponennya dengan Object array berikutnya Object[] opsional.

GenericMethodType(Int32)

Menemukan atau membuat jenis metode yang komponennya semuanya Object.

GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
InsertParameterTypes(Int32, Class[])

Menemukan atau membuat jenis metode dengan jenis parameter tambahan.

InsertParameterTypes(Int32, IList<Class>)

Menemukan atau membuat jenis metode dengan jenis parameter tambahan.

InvokeMethodType(Class, Class, Class[])

Menemukan atau membuat jenis metode dengan komponen yang diberikan.

InvokeMethodType(Class, Class)

Menemukan atau membuat jenis metode dengan komponen yang diberikan.

InvokeMethodType(Class, Class[])

Menemukan atau membuat instans jenis metode yang diberikan.

InvokeMethodType(Class, IList<Class>)

Menemukan atau membuat jenis metode dengan komponen yang diberikan.

InvokeMethodType(Class, MethodType)

Menemukan atau membuat jenis metode dengan komponen yang diberikan.

InvokeMethodType(Class)

Menemukan atau membuat jenis metode dengan komponen yang diberikan.

JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
LastParameterType()

Mengembalikan jenis parameter terakhir dari jenis metode ini.

Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
ParameterArray()

Menyajikan jenis parameter sebagai array (metode kenyamanan).

ParameterCount()

Mengembalikan jumlah jenis parameter dalam jenis metode ini.

ParameterList()

Menyajikan jenis parameter sebagai daftar (metode kenyamanan).

ParameterType(Int32)

Mengembalikan jenis parameter pada indeks yang ditentukan, dalam jenis metode ini.

ReturnType()

Mengembalikan jenis pengembalian dari jenis metode ini.

SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToMethodDescriptorString()

Menghasilkan representasi deskriptor bytecode dari jenis metode.

ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

Membatalkan pendaftaran peer Java ini dari runtime interop.

(Diperoleh dari Object)
Unwrap()

Mengonversi semua jenis pembungkus ke jenis primitif yang sesuai.

Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)
Wrap()

Mengonversi semua jenis primitif ke jenis pembungkus yang sesuai.

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IJavaPeerable.Disposed()

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

ITypeDescriptor+IOfMethod.ChangeParameterType(Int32, Object)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

ITypeDescriptor+IOfMethod.ChangeReturnType(Object)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

ITypeDescriptor+IOfMethod.DropParameterTypes(Int32, Int32)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

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

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

ITypeDescriptor+IOfMethod.ParameterArray()

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

ITypeDescriptor+IOfMethod.ParameterList()

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

ITypeDescriptor+IOfMethod.ParameterType(Int32)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

ITypeDescriptor+IOfMethod.ReturnType()

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Jenis metode mewakili argumen dan jenis pengembalian yang diterima dan dikembalikan oleh handel metode, atau argumen dan jenis pengembalian yang diteruskan dan diharapkan oleh pemanggil handel metode.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk