次の方法で共有


Type.GetPropertyImpl メソッド

定義

派生クラスによってオーバーライドされるときに、指定のバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されたプロパティを検索します。

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);
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);
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

パラメーター

name
String

取得するプロパティの名前を格納している文字列。

bindingAttr
BindingFlags

検索を実施する方法を指定する列挙値のビットごとの組み合わせ。

または null を返す場合は Default

binder
Binder

一連のプロパティを定義し、バインディングを有効にするオブジェクト。バインディングには、オーバーロードされたメンバーの選択、引数の型の強制変換、リフレクションによるメンバーの呼び出しなどが含まれます。

または Nothing を使用する場合は、null 参照 (Visual Basic の場合は DefaultBinder)。

returnType
Type

プロパティの戻り値の型。

types
Type[]

取得するインデックス付きプロパティに対するパラメーターの数値、順序、および型を表す Type オブジェクトの配列。

または インデックス付けされていないプロパティを取得するための、Type 型の空の配列 (Type[] types = new Type[0])。

modifiers
ParameterModifier[]

types 配列内の対応する要素に関連付けられている属性を表す ParameterModifier オブジェクトの配列。 既定のバインダーでは、このパラメーターは処理されません。

戻り値

PropertyInfo

指定した要件と一致するプロパティが存在する場合は、そのプロパティを表すオブジェクト。それ以外の場合は null

例外

指定された名前を持ち、指定されたバインディング制約に一致する 1 つ以上のプロパティが存在します。

namenullです。

または typesnullです。

または types の要素の 1 つが null です。

types が多次元です。

または modifiers が多次元です。

または typesmodifiers の長さが同じではありません。

注釈

既定のバインダーでは (パラメーター) は処理されませんが ParameterModifier modifiers 、抽象クラスを使用し System.Reflection.Binder て、処理を実行するカスタムバインダーを書き込むことができ modifiers ます。 ParameterModifier は COM 相互運用機能を使用してを呼び出す場合にのみ使用され、参照によって渡されるパラメーターのみが処理されます。

次の BindingFlags フィルターフラグを使用して、検索に含めるプロパティを定義できます。

  • BindingFlags.Instance戻り値を取得するには、またはを指定する必要があり BindingFlags.Static ます。

  • BindingFlags.Public検索にパブリックプロパティを含めるには、を指定します。

  • BindingFlags.NonPublic検索にパブリックでないプロパティ (プライベート、内部、および保護されたプロパティ) を含めるように指定します。

  • BindingFlags.FlattenHierarchy階層の上位にとの静的メンバーを含めるように指定します。 public protected 継承された private クラスの静的メンバーは含まれません。

次の BindingFlags 修飾子フラグを使用して、検索の動作を変更できます。

  • BindingFlags.IgnoreCase の大文字と小文字を区別しない場合は name

  • BindingFlags.DeclaredOnly で宣言されたプロパティだけを検索する Type 場合は。単純に継承されたプロパティではありません。

詳細については、「System.Reflection.BindingFlags」を参照してください。

適用対象

こちらもご覧ください