#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll
#endregion
using System.Diagnostics;
using System.Globalization;
using System.Runtime.InteropServices;
namespace System.Reflection
{
//
// 摘要:
// 发现类构造函数的属性,并提供对构造函数元数据的访问权限。
[ClassInterface(ClassInterfaceType.None)]
[ComDefaultInterface(typeof(_ConstructorInfo))]
[ComVisible(true)]
public abstract class ConstructorInfo : MethodBase, _ConstructorInfo
{
//
// 摘要:
// 表示存储在元数据类构造函数方法的名称。 此名称始终是".ctor"。 此字段为只读。
[ComVisible(true)]
public static readonly string ConstructorName;
//
// 摘要:
// 表示存储在元数据的类型构造函数方法的名称。 此名称始终是".cctor"。 此属性是只读的。
[ComVisible(true)]
public static readonly string TypeConstructorName;
//
// 摘要:
// 初始化 System.Reflection.ConstructorInfo 类的新实例。
protected ConstructorInfo();
//
// 摘要:
// 获取 System.Reflection.MemberTypes 值,该值指示此成员是构造函数。
//
// 返回结果:
// System.Reflection.MemberTypes 值,指示此成员是构造函数。
[ComVisible(true)]
public override MemberTypes MemberType { get; }
//
// 摘要:
// 返回一个值,该值指示此实例是否与指定的对象相等。
//
// 参数:
// obj:
// 与此实例进行比较的对象,或为 null。
//
// 返回结果:
// 如果 true 等于此实例的类型和值,则为 obj;否则为 false。
public override bool Equals(object obj);
//
// 摘要:
// 返回此实例的哈希代码。
//
// 返回结果:
// 32 位有符号整数哈希代码。
public override int GetHashCode();
//
// 摘要:
// 派生类中实现时,调用构造函数,由此反映 ConstructorInfo 用指定的参数,指定的约束下 Binder。
//
// 参数:
// invokeAttr:
// 其中一个 BindingFlags 指定的绑定类型的值。
//
// binder:
// 一个 Binder,它定义一组属性并通过反射来启用绑定、参数类型强制转换和成员调用。 如果 binder 是 null, ,然后 Binder.DefaultBinding
// 使用。
//
// parameters:
// 类型的数组 Object 用于匹配的数量、 顺序和类型的约束下此构造函数的参数 binder。 如果此构造函数不需要参数,传递的数组包含零个元素,如下所示对象
// [] 参数 = [0] 的新对象。 不使用值显式初始化此数组中的任何对象将包含所选对象类型的默认值。 对于引用类型的元素,此值是 null。 对于值类型的元素,此值为
// 0、 0.0 或 false, ,具体取决于特定的元素类型。
//
// culture:
// 用于控制类型强制转换的 System.Globalization.CultureInfo。 如果这是 null,则使用当前线程的 System.Globalization.CultureInfo。
//
// 返回结果:
// 与构造函数关联的类的实例。
//
// 异常:
// T:System.ArgumentException:
// parameters 数组不包含与此构造函数的约束下所接受的类型匹配的值 binder。
//
// T:System.Reflection.TargetInvocationException:
// 调用的构造函数引发异常。
//
// T:System.Reflection.TargetParameterCountException:
// 传递参数数目不正确。
//
// T:System.NotSupportedException:
// 创建 System.TypedReference, ,System.ArgIterator, ,和 System.RuntimeArgumentHandle
// 类型不受支持。
//
// T:System.Security.SecurityException:
// 调用方没有所需的代码访问权限。
//
// T:System.MemberAccessException:
// 类为抽象类。 - 或 - 构造函数是类初始值设定项。
//
// T:System.MethodAccessException:
// 构造函数是私有或受保护,同时调用方缺少 System.Security.Permissions.ReflectionPermissionFlag.MemberAccess。
public abstract object Invoke(BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture);
//
// 摘要:
// 调用由具有指定参数的实例反映的构造函数,为不常用的参数提供默认值。
//
// 参数:
// parameters:
// 一个值的数组,其与此构造函数的参数的数量、顺序和类型(在默认绑定的约束下)相匹配。 如果此构造函数不采用参数,则使用具有零个元素或 null 的数组,如
// Object[] parameters = new Object[0] 中所示。 此数组中未使用值显式初始化的任何对象都将包含该对象类型的默认值。 对于引用类型元素,此值为
// null。 对于值类型元素,此值为 0、0.0 或 false,具体取决于特定的元素类型。
//
// 返回结果:
// 与构造函数关联的类的实例。
//
// 异常:
// T:System.MemberAccessException:
// 此类为抽象类。 - 或 - 构造函数是一个类初始值设定项。
//
// T:System.MethodAccessException:
// 在适用于 Windows 应用商店应用的 .NET 或可移植类库中,改为捕获基类异常 System.MemberAccessException。 构造函数专用或受保护,且调用方缺少
// System.Security.Permissions.ReflectionPermissionFlag.MemberAccess。
//
// T:System.ArgumentException:
// parameters 数组不包含与此构造函数接受的类型匹配的值。
//
// T:System.Reflection.TargetInvocationException:
// 调用的构造函数引发异常。
//
// T:System.Reflection.TargetParameterCountException:
// 传递的参数数量不正确。
//
// T:System.NotSupportedException:
// 不可创建 System.TypedReference、System.ArgIterator 和 System.RuntimeArgumentHandle
// 类型。
//
// T:System.Security.SecurityException:
// 调用方没有所需的代码访问权限。
[DebuggerHidden]
[DebuggerStepThrough]
public object Invoke(object[] parameters);
//
// 摘要:
// 指示两个 System.Reflection.ConstructorInfo 对象是否相等。
//
// 参数:
// left:
// 要比较的第一个 System.Reflection.ConstructorInfo。
//
// right:
// 要比较的第二个 System.Reflection.ConstructorInfo。
//
// 返回结果:
// true 如果 left 是否等同于 right; 否则为 false。
public static bool operator ==(ConstructorInfo left, ConstructorInfo right);
//
// 摘要:
// 指示两个 System.Reflection.ConstructorInfo 对象是否不相等。
//
// 参数:
// left:
// 要比较的第一个 System.Reflection.ConstructorInfo。
//
// right:
// 要比较的第二个 System.Reflection.ConstructorInfo。
//
// 返回结果:
// true 如果 left 是否不等于 right; 否则为 false。
public static bool operator !=(ConstructorInfo left, ConstructorInfo right);
}
}