ConstructorInfo.Invoke Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memanggil konstruktor yang tercermin oleh instans ini.
Overload
Invoke(Object[]) |
Memanggil konstruktor yang tercermin oleh instans yang memiliki parameter yang ditentukan, menyediakan nilai default untuk parameter yang tidak umum digunakan. |
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Ketika diimplementasikan dalam kelas turunan, memanggil konstruktor yang tercermin oleh ini |
Invoke(Object[])
- Sumber:
- ConstructorInfo.cs
- Sumber:
- ConstructorInfo.cs
- Sumber:
- ConstructorInfo.cs
Memanggil konstruktor yang tercermin oleh instans yang memiliki parameter yang ditentukan, menyediakan nilai default untuk parameter yang tidak umum digunakan.
public:
virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke (object[] parameters);
public object Invoke (object?[]? parameters);
public object Invoke (object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object
Parameter
- parameters
- Object[]
Array nilai yang cocok dengan angka, urutan, dan jenis (di bawah batasan pengikat default) parameter untuk konstruktor ini. Jika konstruktor ini tidak mengambil parameter, maka gunakan array dengan elemen nol atau null
, seperti dalam parameter Object[] = Object[0] baru. Objek apa pun dalam array ini yang tidak diinisialisasi secara eksplisit dengan nilai akan berisi nilai default untuk jenis objek tersebut. Untuk elemen jenis referensi, nilai ini adalah null
. Untuk elemen jenis nilai, nilai ini adalah 0, 0,0, atau false
, tergantung pada jenis elemen tertentu.
Mengembalikan
Instans kelas yang terkait dengan konstruktor.
Pengecualian
Konstruktor bersifat privat atau dilindungi, dan pemanggil tidak memiliki MemberAccess.
Catatan: Di .NET untuk aplikasi Bursa Windows atau Pustaka Kelas Portabel, tangkap pengecualian kelas dasar, MemberAccessException, sebagai gantinya.
Array parameters
tidak berisi nilai yang cocok dengan jenis yang diterima oleh konstruktor ini.
Konstruktor yang dipanggil melempar pengecualian.
Jumlah parameter yang salah diteruskan.
Pembuatan jenis TypedReference, ArgIterator, dan RuntimeArgumentHandle tidak didukung.
Pemanggil tidak memiliki izin akses kode yang diperlukan.
Keterangan
Jumlah, jenis, dan urutan elemen dalam parameters
array harus identik dengan jumlah, jenis, dan urutan parameter untuk konstruktor yang direfleksikan oleh instans ini. Sebelum memanggil konstruktor, Invoke
pastikan bahwa pemanggil memiliki izin akses dan memverifikasi bahwa parameter valid.
Pembatasan akses diabaikan untuk kode yang sepenuhnya tepercaya. Artinya, konstruktor privat, metode, bidang, dan properti dapat diakses dan dipanggil menggunakan refleksi setiap kali kode sepenuhnya dipercaya.
Catatan
Untuk membuat instans jenis nilai yang tidak memiliki konstruktor instans, gunakan metode .CreateInstance
Metode ini adalah metode kenyamanan untuk versi kelebihan beban berikut, menggunakan nilai default. Metode ini tidak dapat ditimpa.
Catatan
Dimulai dengan .NET Framework 2.0, metode ini dapat digunakan untuk mengakses anggota non-publik jika pemanggil telah diberikan ReflectionPermission dengan ReflectionPermissionFlag.RestrictedMemberAccess bendera dan jika set pemberian anggota non-publik dibatasi untuk set pemberian penelepon, atau subsetnya. (Lihat Pertimbangan Keamanan untuk Refleksi.) Untuk menggunakan fungsionalitas ini, aplikasi Anda harus menargetkan .NET Framework 3.5 atau yang lebih baru.
Berlaku untuk
Invoke(BindingFlags, Binder, Object[], CultureInfo)
- Sumber:
- ConstructorInfo.cs
- Sumber:
- ConstructorInfo.cs
- Sumber:
- ConstructorInfo.cs
Ketika diimplementasikan dalam kelas turunan, memanggil konstruktor yang tercermin oleh ini ConstructorInfo
dengan argumen yang ditentukan, di bawah batasan yang ditentukan Binder
.
public:
abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parameter
- invokeAttr
- BindingFlags
Salah BindingFlags
satu nilai yang menentukan jenis pengikatan.
- binder
- Binder
Binder
yang mendefinisikan sekumpulan properti dan memungkinkan pengikatan, paksaan jenis argumen, dan pemanggilan anggota menggunakan refleksi. Jika binder
adalah null
, maka Binder.DefaultBinding
digunakan.
- parameters
- Object[]
Array jenis Object
yang digunakan untuk mencocokkan angka, urutan, dan jenis parameter untuk konstruktor ini, di bawah batasan binder
. Jika konstruktor ini tidak memerlukan parameter, teruskan array dengan elemen nol, seperti dalam parameter Object[] = Object[0] baru. Objek apa pun dalam array ini yang tidak diinisialisasi secara eksplisit dengan nilai akan berisi nilai default untuk jenis objek tersebut. Untuk elemen jenis referensi, nilai ini adalah null
. Untuk elemen jenis nilai, nilai ini adalah 0, 0,0, atau false
, tergantung pada jenis elemen tertentu.
- culture
- CultureInfo
Yang CultureInfo digunakan untuk mengatur koersi jenis. Jika ini adalah null
, CultureInfo untuk utas saat ini digunakan.
Mengembalikan
Instans kelas yang terkait dengan konstruktor.
Pengecualian
Array parameters
tidak berisi nilai yang cocok dengan jenis yang diterima oleh konstruktor ini, di bawah batasan binder
.
Konstruktor yang dipanggil melempar pengecualian.
Jumlah parameter yang salah diteruskan.
Pembuatan jenis TypedReference, ArgIterator, dan RuntimeArgumentHandle tidak didukung.
Penelepon tidak memiliki izin akses kode yang diperlukan.
Konstruktor bersifat privat atau dilindungi, dan pemanggil tidak memiliki MemberAccess.
Keterangan
Jumlah, jenis, dan urutan elemen dalam parameters
array harus identik dengan jumlah, jenis, dan urutan parameter untuk konstruktor yang direfleksikan oleh instans ini.
Sebelum memanggil konstruktor, Invoke
pastikan bahwa pemanggil memiliki izin akses dan bahwa parameter adalah nomor, pesanan, dan jenis yang benar.
Pembatasan akses diabaikan untuk kode yang sepenuhnya tepercaya. Artinya, konstruktor privat, metode, bidang, dan properti dapat diakses dan dipanggil menggunakan refleksi setiap kali kode sepenuhnya dipercaya.
Catatan
Untuk membuat instans jenis nilai yang tidak memiliki konstruktor instans, gunakan metode .CreateInstance
Catatan
Dimulai dengan .NET Framework 2.0, metode ini dapat digunakan untuk mengakses anggota non-publik jika pemanggil telah diberikan ReflectionPermission dengan ReflectionPermissionFlag.RestrictedMemberAccess bendera dan jika set pemberian anggota non-publik dibatasi untuk set pemberian penelepon, atau subsetnya. (Lihat Pertimbangan Keamanan untuk Refleksi.) Untuk menggunakan fungsionalitas ini, aplikasi Anda harus menargetkan .NET Framework 3.5 atau yang lebih baru.