Type.GetPropertyImpl Metod

Definition

När den åsidosättas i en härledd klass söker du efter den angivna egenskapen vars parametrar matchar de angivna argumenttyperna och modifierarna med hjälp av de angivna bindningsbegränsningarna.

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

Parametrar

name
String

Strängen som innehåller namnet på egenskapen som ska hämtas.

bindingAttr
BindingFlags

En bitvis kombination av uppräkningsvärdena som anger hur sökningen ska utföras.

-eller-

Default för att returnera null.

binder
Binder

Ett objekt som definierar en uppsättning egenskaper och möjliggör bindning, vilket kan innebära val av en överbelastad medlem, tvång av argumenttyper och anrop av en medlem genom reflektion.

-eller-

En null-referens (Nothing i Visual Basic) för att använda DefaultBinder.

returnType
Type

Egenskapens returtyp.

types
Type[]

En matris med Type objekt som representerar antalet, ordningen och typen av parametrar som den indexerade egenskapen ska hämta.

-eller-

En tom matris av typen Type (d.v.s. Type[] types = new Type[0]) för att hämta en egenskap som inte är indexerad.

modifiers
ParameterModifier[]

En matris med ParameterModifier objekt som representerar attributen som är associerade med motsvarande element i matrisen types . Standardbindaren bearbetar inte den här parametern.

Returer

Ett objekt som representerar egenskapen som matchar de angivna kraven, om det hittas; annars . null

Attribut

Undantag

Mer än en egenskap hittas med det angivna namnet och matchar de angivna bindningsbegränsningarna.

name är null.

-eller-

types är null.

-eller-

Ett av elementen i types är null.

types är flerdimensionellt.

-eller-

modifiers är flerdimensionellt.

-eller-

types och modifiers har inte samma längd.

Kommentarer

Även om standardbindaren inte bearbetar ParameterModifier (parametern modifiers) kan du använda den abstrakta klassen System.Reflection.Binder för att skriva en anpassad bindare som bearbetar modifiers. ParameterModifier används endast vid anrop via COM-interop, och endast parametrar som skickas av referens hanteras.

Följande BindingFlags filterflaggor kan användas för att definiera vilka egenskaper som ska inkluderas i sökningen:

  • Du måste ange antingen BindingFlags.Instance eller BindingFlags.Static för att få en retur.

  • Ange BindingFlags.Public att offentliga egenskaper ska inkluderas i sökningen.

  • Ange BindingFlags.NonPublic att icke-offentliga egenskaper (dvs. privata, interna och skyddade egenskaper) ska inkluderas i sökningen.

  • Ange BindingFlags.FlattenHierarchy att inkludera public och protected statiska medlemmar i hierarkin. private Statiska medlemmar i ärvda klasser ingår inte.

Följande BindingFlags modifierarflaggor kan användas för att ändra hur sökningen fungerar:

  • BindingFlags.IgnoreCase för att ignorera fallet namemed .

  • BindingFlags.DeclaredOnly om du bara vill söka efter de egenskaper som deklarerats i Type, inte egenskaper som helt enkelt ärvts.

Mer information finns i System.Reflection.BindingFlags.

Gäller för

Se även