Type.GetConstructorImpl(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) メソッド

定義

派生クラス内でオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規約を使用して、指定した引数の型および修飾子と一致するパラメーターが設定されているコンストラクターを検索します。When overridden in a derived class, searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

protected:
 abstract System::Reflection::ConstructorInfo ^ GetConstructorImpl(System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
protected abstract System.Reflection.ConstructorInfo GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
abstract member GetConstructorImpl : System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.ConstructorInfo
Protected MustOverride Function GetConstructorImpl (bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As ConstructorInfo

パラメーター

bindingAttr
BindingFlags

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

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

binder
Binder

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

callConvention
CallingConventions

引数の順序とレイアウト、戻り値を渡す方法、引数を格納するレジスタ、スタックのクリーンアップに関する一連の規則を指定するオブジェクト。The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and the stack is cleaned up.

types
Type[]

取得するコンストラクターのパラメーターの数、順序、および型を表す Type オブジェクトの配列。An array of Type objects representing the number, order, and type of the parameters for the constructor 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 constructor that takes no parameters.

modifiers
ParameterModifier[]

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.

戻り値

ConstructorInfo

指定した要件と一致するコンストラクターが存在する場合は、そのコンストラクターを表す ConstructorInfo オブジェクト。それ以外の場合は nullA ConstructorInfo object representing the constructor that matches the specified requirements, if found; otherwise, null.

例外

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.

現在の型は TypeBuilder または GenericTypeParameterBuilderです。The current type is a TypeBuilder or GenericTypeParameterBuilder.

注釈

既定のバインダーでは 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.

完全に一致するものが存在しない場合、一致を選択するために、bindertypes 配列に指定されているパラメーターの型を強制的に強制しようとします。If an exact match does not exist, the binder will attempt to coerce the parameter types specified in the types array in order to select a match. binder が一致を選択できない場合は、null が返されます。If the binder is unable to select a match, then null is returned.

次の BindingFlags のフィルターフラグを使用して、検索に含めるコンストラクターを定義できます。The following BindingFlags filter flags can be used to define which constructors 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 constructors in the search.

  • BindingFlags.NonPublic を指定して、検索で非パブリックコンストラクター (プライベート、内部、およびプロテクトコンストラクター) を含めるようにします。Specify BindingFlags.NonPublic to include non-public constructors (that is, private, internal, and protected constructors) in the search.

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

このメソッドは、GetConstructor を実装します。This method implements GetConstructor.

適用対象

こちらもご覧ください