Type.GetPropertyImpl Methode

Definition

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.

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.Instance oder BindingFlags.Static angeben, 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.FlattenHierarchy an, um public und protected statische Member in der gesamten Hierarchie einzuschließen; private statische 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 von name zu 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.

Gilt für:

Weitere Informationen