Type.GetConstructorImpl 方法

定义

当在派生类中重写时,使用指定的绑定约束和指定的调用约定搜索其参数与指定的自变量类型和修饰符匹配的构造函数。

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

枚举值的按位组合,这些值指定如何进行搜索。

  • 或 - 若为 Default,则返回 null
binder
Binder

一个对象,该对象定义一组属性并启用绑定,而绑定可能涉及选择重载方法、强制参数类型和通过反射调用成员。

  • 或 - 要使用 Nothing 的空引用(在 Visual Basic 中为 DefaultBinder)。
callConvention
CallingConventions

对象,用于指定要使用的一套规则,这些规则涉及参数的顺序和布局、传递返回值的方式、用于参数的寄存器和清理堆栈的方式。

types
Type[]

Type 对象的数组,表示构造函数要获取的参数的个数、顺序和类型。

  • 或 - 获取不使用参数的构造函数的 Type 类型的空数组(即 Type[] types = new Type[0])。
modifiers
ParameterModifier[]

ParameterModifier 对象的数组,表示与 types 数组中的相应元素关联的特性。 默认的联编程序不处理此参数。

返回

ConstructorInfo

表示符合指定需求的构造函数的 ConstructorInfo 对象(如果找到的话);否则为 null

例外

types 上声明的默认值为 null

  • 或 - types 的其中一个元素为 null

types 是多维的。

  • 或 - modifiers 是多维的。

  • 或 - typesmodifiers 的长度不相同。

注解

尽管默认联编程序不 (参数) ,但可以使用抽象类编写处理 的 ParameterModifier modifiers System.Reflection.Binder 自定义联编程序 modifiersParameterModifier 仅在通过 COM 互操作调用 时使用,并且仅处理通过引用传递的参数。

如果完全匹配不存在,则 将尝试强制使用数组中指定的参数类型来 binder types 选择匹配项。 如果 binder 无法选择匹配项,则 null 返回 。

以下 BindingFlags 筛选器标志可用于定义要包括在搜索中的构造函数:

  • 必须指定 或 BindingFlags.Instance BindingFlags.Static 才能获取返回。

  • 指定 BindingFlags.Public 以在搜索中包括公共构造函数。

  • 指定 以在搜索 (包括非公共构造函数,) BindingFlags.NonPublic 私有构造函数、内部构造函数和受保护构造函数。

有关更多信息,请参见System.Reflection.BindingFlags

此方法实现 GetConstructor

适用于

另请参阅