Type.GetPropertyImpl Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.
Het huidige type is een TypeBuilder, EnumBuilderof GenericTypeParameterBuilder.
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.InstanceofBindingFlags.Staticopgeven om een retour te krijgen.Geef
BindingFlags.Publicop dat openbare eigenschappen moeten worden opgenomen in de zoekopdracht.Geef
BindingFlags.NonPublicop dat u niet-openbare eigenschappen (dat wil gezegd privé-, interne en beveiligde eigenschappen) wilt opnemen in de zoekopdracht.Geef
BindingFlags.FlattenHierarchyop dat u statische leden wilt opnemenpublicinprotectedde hiërarchie.privateStatische leden in overgenomen klassen zijn niet opgenomen.
De volgende BindingFlags wijzigingsvlagmen kunnen worden gebruikt om de werking van de zoekopdracht te wijzigen:
BindingFlags.IgnoreCaseom de hoofdlettergevoeligheid vannamete negeren.BindingFlags.DeclaredOnlyom alleen de eigenschappen te doorzoeken die zijn gedeclareerd op de Type, niet eigenschappen die gewoon zijn overgenomen.
Zie System.Reflection.BindingFlags voor meer informatie.