Type.GetPropertyImpl Metodo

Definizione

Quando viene sottoposto a override in una classe derivata, cerca la proprietà specificata i cui parametri corrispondono ai modificatori e ai tipi di argomenti definiti, usando i vincoli di binding specificati.

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);
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);
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

Parametri

name
String

Stringa contenente il nome della proprietà da ottenere.

bindingAttr
BindingFlags

Combinazione bit per bit di valori di enumerazione che specifica il modo in cui viene eseguita la ricerca.

-oppure- Default per restituire null.

binder
Binder

Oggetto che definisce un set di proprietà e permette il binding, che può implicare la scelta di un metodo di overload, la coercizione di tipi di argomento e la chiamata di un membro mediante reflection.

-oppure- Riferimento Null (Nothing in Visual Basic) per l'uso di DefaultBinder.

returnType
Type

Tipo restituito della proprietà.

types
Type[]

Matrice di oggetti Type che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata da ottenere.

-oppure- Matrice vuota di tipo Type (ovvero, Type[] types = new Type[0]) per ottenere una proprietà non indicizzata.

modifiers
ParameterModifier[]

Matrice di oggetti ParameterModifier che rappresentano gli attributi associati all'elemento corrispondente nella matrice types. Questo parametro non viene elaborato dal binder predefinito.

Restituisce

PropertyInfo

Oggetto che rappresenta la proprietà corrispondente ai requisiti specificati, se presente; in caso contrario, null.

Eccezioni

È stata trovata più di una proprietà con il nome specificato e corrispondente ai vincoli di associazione specificati.

name è null.

-oppure- types è null.

-oppure- Uno degli elementi in types è null.

types è multidimensionale.

-oppure- modifiers è multidimensionale.

-oppure- types e modifiers non hanno la stessa lunghezza.

Commenti

Anche se lo strumento di associazione predefinito non elabora (il parametro ), è possibile usare la classe astratta per scrivere uno strumento di associazione ParameterModifier modifiers personalizzato che System.Reflection.Binder elava modifiers . ParameterModifier viene usato solo quando si chiama tramite interoperabilità COM e vengono gestiti solo i parametri passati per riferimento.

I flag BindingFlags di filtro seguenti possono essere usati per definire le proprietà da includere nella ricerca:

  • È necessario specificare BindingFlags.Instance o per ottenere un valore BindingFlags.Static restituito.

  • Specificare BindingFlags.Public per includere le proprietà pubbliche nella ricerca.

  • Specificare per includere nella ricerca proprietà non pubbliche, ovvero proprietà private, interne BindingFlags.NonPublic e protette.

  • Specificare BindingFlags.FlattenHierarchy per includere i membri public protected statici e verso l'alto nella gerarchia. I private membri statici nelle classi ereditate non sono inclusi.

Per modificare BindingFlags il funzionamento della ricerca, è possibile usare i flag di modifica seguenti:

  • BindingFlags.IgnoreCase per ignorare la distinzione tra maiuscole e name minuscole.

  • BindingFlags.DeclaredOnly per cercare solo le proprietà dichiarate in Type , non le proprietà semplicemente ereditate.

Per altre informazioni, vedere System.Reflection.BindingFlags.

Si applica a

Vedi anche