Type.GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]) メソッド


派生クラスによってオーバーライドされるときに、指定のバインディング制約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されたプロパティを検索します。When overridden in a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints.

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



取得するプロパティの名前を格納している文字列。The string containing the name of the property to get.


検索を実施する方法を指定する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that specify how the search is conducted.

- または --or- null を返す場合は DefaultDefault to return null.


一連のプロパティを定義し、バインディングを有効にするオブジェクト。バインディングには、オーバーロードされたメンバーの選択、引数の型の強制変換、リフレクションによるメンバーの呼び出しなどが含まれます。An object that defines a set of properties and enables binding, which can involve selection of an overloaded member, coercion of argument types, and invocation of a member through reflection.

- または --or- Nothing を使用する場合は、null 参照 (Visual Basic の場合は DefaultBinder)。A null reference (Nothing in Visual Basic), to use the DefaultBinder.


プロパティの戻り値の型。The return type of the property.


取得するインデックス付きプロパティに対するパラメーターの数値、順序、および型を表す Type オブジェクトの配列。An array of Type objects representing the number, order, and type of the parameters for the indexed property to get.

- または --or- インデックス付けされていないプロパティを取得するための、Type 型の空の配列 (Type[] types = new Type[0])。An empty array of the type Type (that is, Type[] types = new Type[0]) to get a property that is not indexed.


types 配列内の対応する要素に関連付けられている属性を表す ParameterModifier オブジェクトの配列。An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array. 既定のバインダーでは、このパラメーターは処理されません。The default binder does not process this parameter.


指定した要件と一致するプロパティが存在する場合は、そのプロパティを表すオブジェクト。それ以外の場合は nullAn object representing the property that matches the specified requirements, if found; otherwise, null.


指定された名前を持ち、指定されたバインディング制約に一致する 1 つ以上のプロパティが存在します。More than one property is found with the specified name and matching the specified binding constraints.

namenullです。name is null.

- または --or- typesnullです。types is null.

- または --or- types の要素の 1 つが null です。One of the elements in types is null.

types が多次元です。types is multidimensional.

- または --or- modifiers が多次元です。modifiers is multidimensional.

- または --or- typesmodifiers の長さが同じではありません。types and modifiers do not have the same length.


既定のバインダーでは ParameterModifier (modifiers パラメーター) は処理されませんが、抽象 System.Reflection.Binder クラスを使用して、modifiersを処理するカスタムバインダーを作成できます。Although the default binder does not process ParameterModifier (the modifiers parameter), you can use the abstract System.Reflection.Binder class to write a custom binder that does process modifiers. ParameterModifier は、COM 相互運用機能を使用してを呼び出す場合にのみ使用され、参照によって渡されるパラメーターのみが処理されます。ParameterModifier is only used when calling through COM interop, and only parameters that are passed by reference are handled.

次の BindingFlags のフィルターフラグを使用して、検索に含めるプロパティを定義できます。The following BindingFlags filter flags can be used to define which properties to include in the search:

  • 戻り値を取得するには、BindingFlags.Instance または BindingFlags.Static のいずれかを指定する必要があります。You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.

  • 検索にパブリックプロパティを含めるには、BindingFlags.Public を指定します。Specify BindingFlags.Public to include public properties in the search.

  • 検索に非パブリックプロパティ (つまり、プライベート、内部、および保護されたプロパティ) を含めるには、BindingFlags.NonPublic を指定します。Specify BindingFlags.NonPublic to include non-public properties (that is, private, internal, and protected properties) in the search.

  • BindingFlags.FlattenHierarchy を指定して、publicprotected の静的メンバーを階層の上位に追加します。継承されたクラスの private 静的メンバーは含まれません。Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.

次の BindingFlags 修飾子フラグを使用して、検索の動作を変更できます。The following BindingFlags modifier flags can be used to change how the search works:

  • BindingFlags.IgnoreCase nameの場合は無視します。BindingFlags.IgnoreCase to ignore the case of name.

  • 単純に継承されたプロパティではなく、Typeで宣言されたプロパティのみを検索するように BindingFlags.DeclaredOnly します。BindingFlags.DeclaredOnly to search only the properties declared on the Type, not properties that were simply inherited.

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