Type.GetPropertyImpl Metódus

Definíció

Ha egy származtatott osztályban felül van bírálva, a megadott kötési korlátozások használatával megkeresi azt a tulajdonságot, amelynek paraméterei megfelelnek a megadott argumentumtípusoknak és módosítóknak.

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

Paraméterek

name
String

A lekérni kívánt tulajdonság nevét tartalmazó sztring.

bindingAttr
BindingFlags

A számbavételi értékek bitenkénti kombinációja, amely meghatározza a keresés menetét.

-vagy-

Default visszatéréshez null.

binder
Binder

Olyan objektum, amely tulajdonságokat határoz meg, és engedélyezi a kötést, amely magában foglalhatja a túlterhelt tag kiválasztását, az argumentumtípusok kényszerítését és a tag meghívását a tükröződésen keresztül.

-vagy-

Nullhivatkozás (Nothing Visual Basic) a DefaultBinder használatához.

returnType
Type

A tulajdonság visszatérési típusa.

types
Type[]

Az indexelt tulajdonság lekéréséhez szükséges paraméterek számát, sorrendjét és típusát képviselő objektumtömb Type .

-vagy-

A típus Type üres tömbje (azaz Type[] types = new Type[0]) egy nem indexelt tulajdonság lekéréséhez.

modifiers
ParameterModifier[]

A tömb megfelelő eleméhez ParameterModifier társított attribútumokat képviselő objektumtömbtypes. Az alapértelmezett iratgyűjtő nem dolgozza fel ezt a paramétert.

Válaszok

A megadott követelményeknek megfelelő tulajdonságot képviselő objektum, ha megtalálható; egyéb esetben. null

Attribútumok

Kivételek

Egynél több tulajdonság található a megadott névvel, és megfelel a megadott kötési korlátozásoknak.

name az null.

-vagy-

types az null.

-vagy-

Az egyik elem a types.null

types többdimenziós.

-vagy-

modifiers többdimenziós.

-vagy-

types és modifiers nem azonos hosszúságúak.

Megjegyzések

Bár az alapértelmezett kötő nem dolgozza fel a ParameterModifier (a modifiers paramétert), az absztrakt System.Reflection.Binder osztály használatával írhat egy egyedi kötőt, amely feldolgozza a modifiers. ParameterModifier csak com-interop-on keresztüli híváskor használatos, és csak a hivatkozás által átadott paramétereket kezeli a rendszer.

A következő BindingFlags szűrőjelölőkkel határozhatja meg, hogy mely tulajdonságok szerepeljenek a keresésben:

  • A visszatéréshez meg kell adnia vagy a BindingFlags.Instance vagy a BindingFlags.Static.

  • Adja meg BindingFlags.Public , hogy a keresésbe belefoglalja a nyilvános tulajdonságokat.

  • Adja meg BindingFlags.NonPublic , hogy a keresésbe be legyenek foglalva a nem nyilvános tulajdonságok (azaz a privát, a belső és a védett tulajdonságok).

  • Adja meg a BindingFlags.FlattenHierarchy-t, hogy a hierarchiába belefoglalja a public és protected statikus tagokat; az örökölt osztályokban lévő private statikus tagok nem szerepelnek.

A keresés működésének módosításához az alábbi BindingFlags módosító jelzők használhatók:

  • BindingFlags.IgnoreCase a eset figyelmen kívül hagyásához name.

  • BindingFlags.DeclaredOnly úgy keresni, hogy csak a rajta deklarált tulajdonságokra összpontosítsunk Type, nem pedig az egyszerűen öröklött tulajdonságokra.

További információért lásd a System.Reflection.BindingFlags jelű részt.

A következőre érvényes:

Lásd még