Type.GetConstructorImpl 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.
Saat ditimpa di kelas turunan, mencari konstruktor yang parameternya cocok dengan jenis argumen dan pengubah yang ditentukan, menggunakan batasan pengikatan yang ditentukan dan konvensi panggilan yang ditentukan.
protected:
abstract System::Reflection::ConstructorInfo ^ GetConstructorImpl(System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)]
protected abstract System.Reflection.ConstructorInfo? GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.ConstructorInfo GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected abstract System.Reflection.ConstructorInfo? GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)>]
abstract member GetConstructorImpl : System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.ConstructorInfo
abstract member GetConstructorImpl : System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.ConstructorInfo
Protected MustOverride Function GetConstructorImpl (bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As ConstructorInfo
Parameter
- bindingAttr
- BindingFlags
Kombinasi bitwise dari nilai enumerasi yang menentukan bagaimana pencarian dilakukan.
-atau-
Default untuk mengembalikan null.
- binder
- Binder
Objek yang mendefinisikan sekumpulan properti dan memungkinkan pengikatan, yang dapat melibatkan pemilihan metode yang kelebihan beban, pemaksaan jenis argumen, dan pemanggilan anggota melalui pantulan.
-atau-
Referensi null (Nothing di Visual Basic), untuk menggunakan DefaultBinder.
- callConvention
- CallingConventions
Objek yang menentukan sekumpulan aturan yang akan digunakan mengenai urutan dan tata letak argumen, bagaimana nilai pengembalian diteruskan, daftar apa yang digunakan untuk argumen, dan tumpukan dibersihkan.
- types
- Type[]
Array Type objek yang mewakili jumlah, urutan, dan jenis parameter untuk didapatkan oleh konstruktor.
-atau-
Array kosong dari jenis Type (yaitu, Tipe[] jenis = Tipe baru[0]) untuk mendapatkan konstruktor yang tidak mengambil parameter.
- modifiers
- ParameterModifier[]
Array ParameterModifier objek yang mewakili atribut yang terkait dengan elemen yang sesuai dalam types array. Pengikat default tidak memproses parameter ini.
Mengembalikan
Objek ConstructorInfo yang mewakili konstruktor yang cocok dengan persyaratan yang ditentukan, jika ditemukan; jika tidak, null.
- Atribut
Pengecualian
types bersifat multidaya.
-atau-
modifiers bersifat multidaya.
-atau-
types dan modifiers janganlah kamu (para pendurat) memiliki (kesamaan) yang berbeda-beda.
Jenis saat ini adalah TypeBuilder atau GenericTypeParameterBuilder.
Keterangan
Meskipun pengikat default tidak memproses ParameterModifier ( modifiers parameter), Anda dapat menggunakan kelas abstrak System.Reflection.Binder untuk menulis pengikat kustom yang memproses modifiers.
ParameterModifier hanya digunakan saat memanggil melalui interop COM, dan hanya parameter yang dioper melalui referensi yang dapat ditangani.
Jika kecocokan persis tidak ada, binder akan mencoba memaksa jenis parameter yang ditentukan dalam types array untuk memilih kecocokan.
binder Jika tidak dapat memilih kecocokan, maka null dikembalikan.
Bendera filter berikut BindingFlags dapat digunakan untuk menentukan konstruktor mana yang akan disertakan dalam pencarian:
Anda harus menentukan salah satu
BindingFlags.InstanceatauBindingFlags.Staticuntuk mendapatkan pengembalian.Tentukan
BindingFlags.Publicuntuk menyertakan konstruktor publik dalam pencarian.Tentukan
BindingFlags.NonPublicuntuk menyertakan konstruktor non-publik (yaitu, konstruktor privat, internal, dan terlindungi) dalam pencarian.
Lihat System.Reflection.BindingFlags untuk informasi lebih lanjut.
Metode ini mengimplementasikan GetConstructor.