Type.GetPropertyImpl Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
Geçerli tür, TypeBuilder, EnumBuilderveya GenericTypeParameterBuilderşeklindedir.
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.Instanceya daBindingFlags.Staticbelirtmelisiniz.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.Belirtin
BindingFlags.FlattenHierarchy:publicveprotectedstatik üyeleri hiyerarşiye eklemek için; türetilmiş sınıflardakiprivatestatik ü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 durumununameyoksaymak için.BindingFlags.DeclaredOnlyyalnızca Type üzerinde bildirilen özellikleri aramak için, yalnızca devralınan özellikleri hariç tutar.
Daha fazla bilgi için bkz. System.Reflection.BindingFlags.