更新:2007 年 11 月
构造函数使用 TypeBuilder.DefineConstructor 方法来定义。DefineConstructor 返回一个 ConstructorBuilder。DefineConstructor 要求调用方使用 MethodAttributes 枚举指定构造函数属性。
使用 TypeBuilder.DefineDefaultConstructor 方法定义类的默认构造函数。DefineDefaultConstructor 返回 ConstructorBuilder。默认构造函数只调用父类的构造函数。如果调用方未定义类的默认构造函数,公共语言运行库将自动执行此操作。
属性
运行库为构造函数设置属性 MethodAttributes.SpecialName。
使用 MethodAttributes.Private 属性指定私有构造函数。对于其他可见性属性,请参见 MethodAttributes 枚举的说明。
已知问题
虽然 ConstructorBuilder 从 ConstructorInfo 派生,但 ConstructorInfo 类中定义的某些抽象方法并没有在 ConstructorBuilder 中完全实现。这些 ConstructorBuilder 方法引发 NotSupportedException。通过检索包含构造函数的类型并在它上面反射,可以获得所需的功能。例如,ConstructorBuilder.Invoke 方法没有完全实现。
当前不支持自定义修饰符。