Type.GetPropertyImpl Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.
Den aktuella typen är , TypeBuilderEnumBuildereller GenericTypeParameterBuilder.
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.InstanceellerBindingFlags.Staticför att få en retur.Ange
BindingFlags.Publicatt offentliga egenskaper ska inkluderas i sökningen.Ange
BindingFlags.NonPublicatt icke-offentliga egenskaper (dvs. privata, interna och skyddade egenskaper) ska inkluderas i sökningen.Ange
BindingFlags.FlattenHierarchyatt inkluderapublicochprotectedstatiska medlemmar i hierarkin.privateStatiska medlemmar i ärvda klasser ingår inte.
Följande BindingFlags modifierarflaggor kan användas för att ändra hur sökningen fungerar:
BindingFlags.IgnoreCaseför att ignorera falletnamemed .BindingFlags.DeclaredOnlyom 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.