Type.GetPropertyImpl Methode

Definitie

Wanneer deze wordt overschreven in een afgeleide klasse, zoekt u naar de opgegeven eigenschap waarvan de parameters overeenkomen met de opgegeven argumenttypen en modifiers, met behulp van de opgegeven bindingsbeperkingen.

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

Parameters

name
String

De tekenreeks met de naam van de eigenschap die u wilt ophalen.

bindingAttr
BindingFlags

Een bitsgewijze combinatie van de opsommingswaarden die aangeven hoe de zoekopdracht wordt uitgevoerd.

– of –

Default om terug te keren null.

binder
Binder

Een object dat een set eigenschappen definieert en binding mogelijk maakt, waarbij een overbelast lid, een dwang van argumenttypen en het aanroepen van een lid via weerspiegeling kan worden geselecteerd.

– of –

Een null-verwijzing (Nothing in Visual Basic) om de DefaultBinder te gebruiken.

returnType
Type

Het retourtype van de eigenschap.

types
Type[]

Een matrix van Type objecten die het getal, de volgorde en het type van de parameters voor de geïndexeerde eigenschap vertegenwoordigen.

– of –

Een lege matrix van het type (dat wil gezegd Type , Type[] types = new Type[0]) om een eigenschap op te halen die niet is geïndexeerd.

modifiers
ParameterModifier[]

Een matrix met ParameterModifier objecten die de kenmerken vertegenwoordigen die zijn gekoppeld aan het bijbehorende element in de types matrix. Deze parameter wordt niet verwerkt door de standaard binder.

Retouren

Een object dat de eigenschap vertegenwoordigt die overeenkomt met de opgegeven vereisten, indien gevonden; anders, null.

Kenmerken

Uitzonderingen

Er wordt meer dan één eigenschap gevonden met de opgegeven naam en overeenkomt met de opgegeven bindingsbeperkingen.

name is null.

– of –

types is null.

– of –

Een van de elementen in types is null.

types is multidimensionaal.

– of –

modifiers is multidimensionaal.

– of –

types en modifiers niet dezelfde lengte hebben.

Opmerkingen

Hoewel de standaardbinder ParameterModifier (het modifiers-argument) niet verwerkt, kunt u de abstracte klasse System.Reflection.Binder gebruiken om een aangepaste binder te schrijven die modifiers wel verwerkt. ParameterModifier wordt alleen gebruikt bij het aanroepen via COM-interop en alleen parameters die worden doorgegeven door verwijzing, worden verwerkt.

De volgende BindingFlags filtervlagmen kunnen worden gebruikt om te definiëren welke eigenschappen moeten worden opgenomen in de zoekopdracht:

  • U moet of BindingFlags.Instance of BindingFlags.Static opgeven om een retour te krijgen.

  • Geef BindingFlags.Public op dat openbare eigenschappen moeten worden opgenomen in de zoekopdracht.

  • Geef BindingFlags.NonPublic op dat u niet-openbare eigenschappen (dat wil gezegd privé-, interne en beveiligde eigenschappen) wilt opnemen in de zoekopdracht.

  • Geef BindingFlags.FlattenHierarchy op dat u statische leden wilt opnemen public in protected de hiërarchie. private Statische leden in overgenomen klassen zijn niet opgenomen.

De volgende BindingFlags wijzigingsvlagmen kunnen worden gebruikt om de werking van de zoekopdracht te wijzigen:

  • BindingFlags.IgnoreCase om de hoofdlettergevoeligheid van name te negeren.

  • BindingFlags.DeclaredOnly om alleen de eigenschappen te doorzoeken die zijn gedeclareerd op de Type, niet eigenschappen die gewoon zijn overgenomen.

Zie System.Reflection.BindingFlags voor meer informatie.

Van toepassing op

Zie ook