ConstructorBuilder.Invoke 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
调用此实例动态反映的构造函数。
重载
| 名称 | 说明 |
|---|---|
| Invoke(BindingFlags, Binder, Object[], CultureInfo) |
在给定对象上动态调用此实例表示的构造函数,并沿指定参数传递,并在给定绑定器的约束下传递。 |
| Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
在指定的 |
Invoke(BindingFlags, Binder, Object[], CultureInfo)
- Source:
- ConstructorBuilder.cs
在给定对象上动态调用此实例表示的构造函数,并沿指定参数传递,并在给定绑定器的约束下传递。
public:
override System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke(System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
参数
- invokeAttr
- BindingFlags
这必须是来自的位标志 BindingFlags,例如 InvokeMethod、NonPublic 等。
- parameters
- Object[]
参数列表。 这是一个参数数组,其数字、顺序和类型与要调用的构造函数的参数相同。 如果没有参数,则为
- culture
- CultureInfo
用于控制类型的强制的实例 CultureInfo 。 如果为 null,则 CultureInfo 使用当前线程。 (例如,必须将表示 1000 的 a String 值转换为 Double 值,因为不同的区域性以不同的方式表示 1000。
返回
调用的构造函数返回的值。
例外
目前不支持此方法。 可以使用和调用GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])返回Invoke(BindingFlags, Binder, Object[], CultureInfo)的构造函数来检索构造函数ConstructorInfo。
注解
如果构造函数没有参数,则参数的值 parameters 应为 null。 否则,数组中 parameters 元素的数量、类型和顺序应与此实例反映的构造函数的参数的数量、类型和顺序相同。
例如,如果此实例反映的构造函数声明为采用两个字符串的公共类,则该 parameters 参数应为长度为 2 的 Object 数组。
注释
对于完全受信任的代码,将忽略访问限制。 也就是说,每当完全信任代码时,都可以使用反射访问和调用专用构造函数、方法、字段和属性。
另请参阅
适用于
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
- Source:
- ConstructorBuilder.cs
在指定的 Binder约束下,使用指定参数动态调用此实例反映的构造函数。
public:
override System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke(object? obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke(object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (obj As Object, invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
参数
- obj
- Object
需要重新初始化的对象。
- invokeAttr
- BindingFlags
指定 BindingFlags 所需绑定类型的值之一。
- binder
- Binder
一 Binder 个定义一组属性,并启用使用反射对成员的绑定、强制参数类型和调用成员。
binder如果是null,则使用 Binder.DefaultBinding。
- parameters
- Object[]
参数列表。 这是一个参数数组,其数字、顺序和类型与要调用的构造函数的参数相同。 如果没有参数,则应为 null 引用(Visual Basic 中的 Nothing)。
- culture
- CultureInfo
CultureInfo用于控制类型的强制。 如果为 null,则 CultureInfo 使用当前线程。
返回
与构造函数关联的类的实例。
例外
目前不支持此方法。 可以使用和调用GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])返回Invoke(BindingFlags, Binder, Object[], CultureInfo)的构造函数来检索构造函数ConstructorInfo。
注解
参数数组中元素的数量、类型和顺序应与此实例反映的构造函数的参数的数量、类型和顺序相同。
在调用构造函数之前, Invoke 请确保调用方具有访问权限,并且参数具有正确的数字、顺序和类型。
对于完全受信任的代码,将忽略访问限制。 也就是说,每当完全信任代码时,都可以使用反射访问和调用专用构造函数、方法、字段和属性。