Type.GetPropertyImpl Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
In caso di override in una classe derivata, cerca la proprietà specificata i cui parametri corrispondono ai tipi di argomento e ai modificatori specificati, utilizzando i vincoli di associazione 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);
[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
Parametri
- name
- String
Stringa contenente il nome della proprietà da ottenere.
- bindingAttr
- BindingFlags
Combinazione bit per bit dei valori di enumerazione che specificano come viene eseguita la ricerca.
oppure
Default per restituire null.
- binder
- Binder
Oggetto che definisce un set di proprietà e abilita l'associazione, che può comportare la selezione di un membro di overload, la coercizione dei tipi di argomento e la chiamata di un membro tramite reflection.
oppure
Riferimento Null (Nothing in Visual Basic), per usare il DefaultBinder.
- returnType
- Type
Tipo restituito della proprietà.
- types
- Type[]
Matrice di Type oggetti che rappresentano il numero, l'ordine e il tipo dei parametri per la proprietà indicizzata da ottenere.
oppure
Matrice vuota del tipo Type ,ovvero Type[] types = new Type[0]) per ottenere una proprietà non indicizzata.
- modifiers
- ParameterModifier[]
Matrice di ParameterModifier oggetti che rappresentano gli attributi associati all'elemento corrispondente nella types matrice. Il gestore di associazione predefinito non elabora questo parametro.
Valori restituiti
Oggetto che rappresenta la proprietà che soddisfa i requisiti specificati, se trovato; in caso contrario, null.
- Attributi
Eccezioni
Vengono trovate più proprietà con il nome specificato e corrispondenti ai vincoli di associazione specificati.
types è multidimensionale.
oppure
modifiers è multidimensionale.
oppure
types e modifiers non hanno la stessa lunghezza.
Il tipo corrente è , TypeBuilderEnumBuildero GenericTypeParameterBuilder.
Commenti
Anche se il binder predefinito non elabora ParameterModifier (il parametro modifiers), è possibile usare la classe astratta System.Reflection.Binder per scrivere un binder personalizzato che esegue l'elaborazione di modifiers.
ParameterModifier viene utilizzato solo quando si esegue la chiamata tramite interoperabilità COM e vengono gestiti solo i parametri passati per riferimento.
I flag di filtro seguenti BindingFlags possono essere usati per definire le proprietà da includere nella ricerca:
È necessario specificare
BindingFlags.InstanceoBindingFlags.Staticper ottenere un ritorno.Specificare
BindingFlags.Publicper includere le proprietà pubbliche nella ricerca.Specificare
BindingFlags.NonPublicdi includere proprietà non pubbliche , ovvero proprietà private, interne e protette, nella ricerca.Specificare
BindingFlags.FlattenHierarchydi includerepubliceprotectedmembri statici nella gerarchia.privateI membri statici nelle classi ereditate non sono inclusi.
Per modificare il funzionamento della ricerca, è possibile usare i flag di modificatore seguenti BindingFlags :
BindingFlags.IgnoreCaseper ignorare il caso diname.BindingFlags.DeclaredOnlyper cercare solo le proprietà dichiarate in Type, non le proprietà semplicemente ereditate.
Per altre informazioni, vedere System.Reflection.BindingFlags.