エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Type.GetPropertyImpl メソッド

2013/12/12

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

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

protected abstract PropertyInfo GetPropertyImpl(
	string name,
	BindingFlags bindingAttr,
	Binder binder,
	Type returnType,
	Type[] types,
	ParameterModifier[] modifiers
)

パラメーター

name
型: System.String
取得するプロパティの名前を格納している String
bindingAttr
型: System.Reflection.BindingFlags
検索の実行方法を指定する 1 つ以上の BindingFlags から成るビットマスク。
または
null を返す 0。
binder
型: System.Reflection.Binder
一連のプロパティを定義し、バインディングを有効にする Binder オブジェクト。バインディングには、オーバーロードされたメンバーの選択、引数の型の強制変換、リフレクションによるメンバーの呼び出しなどが含まれます。
または
DefaultBinder を使用する場合は null 参照 (Visual Basic では Nothing)。
returnType
型: System.Type
プロパティの戻り値の型。
types
型: System.Type []
取得するインデックス付きプロパティに対するパラメーターの数値、順序、および型を表す Type オブジェクトの配列。
または
インデックス付けされていないプロパティを取得するための、Type 型の空の配列 (Type[] types = new Type[0])。
modifiers
型: System.Reflection.ParameterModifier []
types 配列内の対応する要素に関連付けられている属性を表す ParameterModifier オブジェクトの配列。既定のバインダーは、このパラメーターを処理しません。

戻り値

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

例外条件
AmbiguousMatchException

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

ArgumentNullException

namenull です。

または

typesnull です。

または

types の要素の 1 つが null です。

ArgumentException

types が多次元です。

または

modifiers が多次元です。

または

typesmodifiers の長さが異なります。

NotSupportedException

現在の型は、動的な型です。

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

types 配列と modifiers 配列の長さが同じです。types 配列で指定するパラメーターには、modifiers 配列で指定されている以下の各属性を設定できます。pdIn、pdOut、pdLcid、pdRetval、pdOptional、および pdHasDefault。これらの属性は、それぞれ [In]、[Out]、[lcid]、[retval]、[optional]、およびパラメーターが既定値を持つかどうかを指定する値を表します。パラメーターに関連付けられた属性はメタデータに格納され、相互運用性のために使用されます。

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

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

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

  • 検索対象にパブリックではないプロパティ (つまり、プライベート プロパティやプロテクト プロパティ) を含めるための BindingFlags.NonPublic を指定します。

  • 階層構造の上位にある public 静的メンバーおよび protected 静的メンバーを検索対象に含めるには、BindingFlags.FlattenHierarchy を指定します。継承クラスの private 静的メンバーは含まれません。

次の BindingFlags 修飾フラグは、検索方法を変更するために使用できます。

  • name の大文字と小文字の違いを無視する場合は BindingFlags.IgnoreCase

  • 単に継承されただけのプロパティではなく、Type で宣言されたプロパティだけを検索する場合は BindingFlags.DeclaredOnly

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

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft