Type.GetPropertyImpl Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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.
types többdimenziós.
-vagy-
modifiers többdimenziós.
-vagy-
types és modifiers nem azonos hosszúságúak.
Az aktuális típus egy TypeBuilder, EnumBuildervagy GenericTypeParameterBuilder.
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.Instancevagy aBindingFlags.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 apublicésprotectedstatikus tagokat; az örökölt osztályokban lévőprivatestatikus 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.IgnoreCasea eset figyelmen kívül hagyásáhozname.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.