Type.GetConstructorImpl Metode

Definisi

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 adalah null.

-atau-

Salah satu elemen di types adalah null.

types bersifat multidaya.

-atau-

modifiers bersifat multidaya.

-atau-

types dan modifiers janganlah kamu (para pendurat) memiliki (kesamaan) yang berbeda-beda.

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.Instance atau BindingFlags.Static untuk mendapatkan pengembalian.

  • Tentukan BindingFlags.Public untuk menyertakan konstruktor publik dalam pencarian.

  • Tentukan BindingFlags.NonPublic untuk menyertakan konstruktor non-publik (yaitu, konstruktor privat, internal, dan terlindungi) dalam pencarian.

Lihat System.Reflection.BindingFlags untuk informasi lebih lanjut.

Metode ini mengimplementasikan GetConstructor.

Berlaku untuk

Lihat juga