Type.GetPropertyImpl Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wenn eine abgeleitete Klasse überschrieben wird, wird mithilfe der angegebenen Bindungseinschränkungen nach der angegebenen Eigenschaft gesucht, deren Parameter den angegebenen Argumenttypen und Modifizierern entsprechen.
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
Die Zeichenfolge, die den Namen der abzurufenden Eigenschaft enthält.
- bindingAttr
- BindingFlags
Eine bitweise Kombination der Enumerationswerte, die angeben, wie die Suche durchgeführt wird.
-oder-
Default zurückzugeben null.
- binder
- Binder
Ein Objekt, das einen Satz von Eigenschaften definiert und eine Bindung ermöglicht, die auswahl eines überladenen Elements, die Koersion von Argumenttypen und den Aufruf eines Elements durch Spiegelung umfassen kann.
-oder-
Ein Nullverweis (Nothing in Visual Basic), um die DefaultBinder zu verwenden.
- returnType
- Type
Der Rückgabetyp der Eigenschaft.
- types
- Type[]
Ein Array von Type Objekten, die die Anzahl, Reihenfolge und den Typ der Parameter für die abzurufende indizierte Eigenschaft darstellen.
-oder-
Ein leeres Array des Typs Type (d. h. Type[] types = new Type[0]), um eine Eigenschaft abzurufen, die nicht indiziert ist.
- modifiers
- ParameterModifier[]
Ein Array von ParameterModifier Objekten, die die Attribute darstellen, die dem entsprechenden Element im types Array zugeordnet sind. Der Standardordner verarbeitet diesen Parameter nicht.
Gibt zurück
Ein Objekt, das die Eigenschaft darstellt, die den angegebenen Anforderungen entspricht, falls gefunden; andernfalls . null
- Attribute
Ausnahmen
Mehrere Eigenschaften werden mit dem angegebenen Namen gefunden und den angegebenen Bindungseinschränkungen entsprechen.
name ist null.
-oder-
types ist null.
-oder-
Eines der Elemente in types ist null.
types ist multidimensional.
-oder-
modifiers ist multidimensional.
-oder-
types und modifiers haben nicht dieselbe Länge.
Der aktuelle Typ ist ein TypeBuilder, EnumBuilderoder GenericTypeParameterBuilder.
Hinweise
Obwohl der Standard-Binder ParameterModifier (den modifiers Parameter) nicht verarbeitet, können Sie die abstrakte System.Reflection.Binder Klasse verwenden, um einen benutzerdefinierten Binder zu schreiben, der modifiers verarbeitet.
ParameterModifier wird nur verwendet, wenn der Aufruf über die COM-Interoperabilität erfolgt, und nur Parameter, die als Referenz übergeben werden, werden behandelt.
Die folgenden BindingFlags Filterkennzeichnungen können verwendet werden, um zu definieren, welche Eigenschaften in die Suche einbezogen werden sollen:
Sie müssen entweder
BindingFlags.InstanceoderBindingFlags.Staticangeben, um eine Rückgabe zu erhalten.Geben Sie an
BindingFlags.Public, dass öffentliche Eigenschaften in die Suche eingeschlossen werden sollen.Geben Sie an
BindingFlags.NonPublic, dass nicht öffentliche Eigenschaften (d. h. private, interne und geschützte Eigenschaften) in die Suche einbezogen werden sollen.Geben Sie
BindingFlags.FlattenHierarchyan, umpublicundprotectedstatische Member in der gesamten Hierarchie einzuschließen;privatestatische Member in geerbten Klassen sind nicht enthalten.
Die folgenden BindingFlags Modifiziererkennzeichnungen können verwendet werden, um die Funktionsweise der Suche zu ändern:
BindingFlags.IgnoreCase, um die Groß- und Kleinschreibung vonnamezu ignorieren.BindingFlags.DeclaredOnly, um nur die bei Type deklarierten Eigenschaften zu suchen, nicht die Eigenschaften, die einfach geerbt wurden.
Weitere Informationen finden Sie unter System.Reflection.BindingFlags.