Type.GetPropertyImpl Yöntem

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bağlama kısıtlamalarını kullanarak parametreleri belirtilen bağımsız değişken türleri ve değiştiricilerle eşleşen belirtilen özelliği arar.

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

Parametreler

name
String

Alınacak özelliğin adını içeren dize.

bindingAttr
BindingFlags

Aramanın nasıl yapıldığını belirten numaralandırma değerlerinin bit düzeyinde birleşimi.

-veya-

Default öğesini döndürecek null.

binder
Binder

Bir özellik kümesini tanımlayan ve bağlamayı etkinleştiren, aşırı yüklenmiş bir üyenin seçilmesini, bağımsız değişken türlerinin zorlamasını ve yansıma aracılığıyla bir üyenin çağrılmasına neden olabilecek bir nesne.

-veya-

Nothing kullanmak için null başvuru (Visual Basic'de DefaultBinder).

returnType
Type

Özelliğinin dönüş türü.

types
Type[]

Dizine alınan özelliğin Type parametrelerinin sayısını, sırasını ve türünü temsil eden bir nesne dizisi.

-veya-

Dizine alınmamış bir özelliği almak için türünde Type boş bir dizi (type[] types = new Type[0]).

modifiers
ParameterModifier[]

Dizideki ParameterModifier ilgili öğeyle types ilişkili öznitelikleri temsil eden bir nesne dizisi. Varsayılan bağlayıcı bu parametreyi işlemez.

Döndürülenler

Bulunursa, belirtilen gereksinimlerle eşleşen özelliği temsil eden bir nesne; aksi takdirde , null.

Öznitelikler

Özel durumlar

Belirtilen adla ve belirtilen bağlama kısıtlamalarıyla eşleşen birden fazla özellik bulunur.

name, null'e eşittir.

-veya-

types, null'e eşittir.

-veya-

öğesindeki types öğelerden biri de şeklindedir null.

types çok boyutludur.

-veya-

modifiers çok boyutludur.

-veya-

types ve modifiers aynı uzunlukta değildir.

Açıklamalar

Varsayılan bağlayıcı ParameterModifier ( modifiers parametresi) işlemezken, System.Reflection.Binder işlemek için soyut modifiers sınıfını kullanarak özel bir bağlayıcı yazabilirsiniz. ParameterModifier yalnızca COM birlikte çalışması aracılığıyla yapılan çağrılarda kullanılır ve yalnızca referansla geçirilen parametreler işlenir.

Aşağıdaki BindingFlags filtre bayrakları, aramaya hangi özelliklerin dahil edilebileceğini tanımlamak için kullanılabilir:

  • İade almak için ya BindingFlags.Instance ya da BindingFlags.Static belirtmelisiniz.

  • Genel özellikleri aramaya dahil etmek için belirtin BindingFlags.Public .

  • Genel olmayan özellikleri (özel, iç ve korumalı özellikler) aramaya dahil etmek için belirtin BindingFlags.NonPublic .

  • BelirtinBindingFlags.FlattenHierarchy: public ve protected statik üyeleri hiyerarşiye eklemek için; türetilmiş sınıflardaki private statik üyeler dahil edilmez.

Aramanın çalışma biçimini değiştirmek için aşağıdaki BindingFlags değiştirici bayraklar kullanılabilir:

  • BindingFlags.IgnoreCase öğesinin büyük/küçük harf durumunu nameyoksaymak için.

  • BindingFlags.DeclaredOnly yalnızca Type üzerinde bildirilen özellikleri aramak için, yalnızca devralınan özellikleri hariç tutar.

Daha fazla bilgi için bkz. System.Reflection.BindingFlags.

Şunlara uygulanır

Ayrıca bkz.