Type.GetPropertyImpl Metode

Definisi

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.

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

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

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

  • Tentukan BindingFlags.FlattenHierarchy untuk menyertakan public dan protected anggota statis dalam hierarki ke atas; anggota statis seperti private di kelas yang diwariskan tidak disertakan.

Bendera pengubah berikut BindingFlags dapat digunakan untuk mengubah cara kerja pencarian:

  • BindingFlags.IgnoreCase untuk mengabaikan kasus name.

  • BindingFlags.DeclaredOnly untuk mencari hanya properti yang dideklarasikan pada Type, bukan properti yang hanya diwariskan.

Lihat System.Reflection.BindingFlags untuk informasi lebih lanjut.

Berlaku untuk

Lihat juga