Type.GetPropertyImpl 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, cari properti yang ditentukan yang parameternya cocok dengan jenis argumen dan pengubah yang ditentukan, menggunakan batasan pengikatan yang ditentukan.
protected:
abstract System::Reflection::PropertyInfo ^ GetPropertyImpl(System::String ^ name, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, Type ^ returnType, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties)]
protected abstract System.Reflection.PropertyInfo? GetPropertyImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.PropertyInfo GetPropertyImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected abstract System.Reflection.PropertyInfo? GetPropertyImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties)>]
abstract member GetPropertyImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * Type * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.PropertyInfo
abstract member GetPropertyImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * Type * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.PropertyInfo
Protected MustOverride Function GetPropertyImpl (name As String, bindingAttr As BindingFlags, binder As Binder, returnType As Type, types As Type(), modifiers As ParameterModifier()) As PropertyInfo
Parameter
- name
- String
String yang berisi nama properti yang akan didapatkan.
- bindingAttr
- BindingFlags
Kombinasi bitwise dari nilai enumerasi yang menentukan bagaimana pencarian dilakukan.
-atau-
Default untuk mengembalikan null.
- binder
- Binder
Objek yang menentukan sekumpulan properti dan memungkinkan pengikatan, yang dapat melibatkan pemilihan anggota yang kelebihan beban, pemaksaan jenis argumen, dan pemanggilan anggota melalui pantulan.
-atau-
Referensi null (Nothing di Visual Basic), untuk menggunakan DefaultBinder.
- returnType
- Type
Jenis pengembalian properti.
- types
- Type[]
Array Type objek yang mewakili jumlah, urutan, dan jenis parameter untuk mendapatkan properti terindeks.
-atau-
Array kosong dari jenis Type (yaitu, Tipe[] tipe = Tipe baru[0]) untuk mendapatkan properti yang tidak diindeks.
- 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 yang mewakili properti yang cocok dengan persyaratan yang ditentukan, jika ditemukan; jika tidak, null.
- Atribut
Pengecualian
Lebih dari satu properti ditemukan dengan nama yang ditentukan dan cocok dengan batasan pengikatan yang ditentukan.
name adalah null.
-atau-
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.
Jenis saat ini adalah TypeBuilder, , EnumBuilderatau 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.
Bendera filter berikut BindingFlags dapat digunakan untuk menentukan properti mana yang akan disertakan dalam pencarian:
Anda harus menentukan salah satu
BindingFlags.InstanceatauBindingFlags.Staticuntuk mendapatkan pengembalian.Tentukan
BindingFlags.Publicuntuk menyertakan properti publik dalam pencarian.Tentukan
BindingFlags.NonPublicuntuk menyertakan properti non-publik (yaitu, properti privat, internal, dan terlindungi) dalam pencarian.Tentukan
BindingFlags.FlattenHierarchyuntuk menyertakanpublicdanprotectedanggota statis dalam hierarki ke atas; anggota statis sepertiprivatedi kelas yang diwariskan tidak disertakan.
Bendera pengubah berikut BindingFlags dapat digunakan untuk mengubah cara kerja pencarian:
BindingFlags.IgnoreCaseuntuk mengabaikan kasusname.BindingFlags.DeclaredOnlyuntuk mencari hanya properti yang dideklarasikan pada Type, bukan properti yang hanya diwariskan.
Lihat System.Reflection.BindingFlags untuk informasi lebih lanjut.