使用反映發出定義建構函式

建構函式是使用 TypeBuilder.DefineConstructor 方法定義。 DefineConstructor 會傳回 ConstructorBuilderDefineConstructor 要求呼叫端,使用 MethodAttributes 列舉型別來指定建構函式屬性 (Attribute)。

類別的預設建構函式是使用 TypeBuilder.DefineDefaultConstructor 方法定義。 DefineDefaultConstructor 傳回 ConstructorBuilder。 預設建構函式只是呼叫父類別的建構函式。 如果呼叫端不定義的話,Common Language Runtime 自動定義類別的預設建構函式。

屬性

  • 執行階段為建構函式設定屬性 MethodAttributes.SpecialName

  • 私用建構函式使用 MethodAttributes.Private 屬性來指定。 如需其他可視性屬性的詳細資訊,請參閱 MethodAttributes 列舉型別的說明。

已知的問題

  • 雖然 ConstructorBuilder 衍生自 ConstructorInfo,一些定義於 ConstructorInfo 類別的抽象方法並不在 ConstructorBuilder 中完整實作。 這些 ConstructorBuilder 方法會擲回 NotSupportedException。 擷取含有建構函式的型別並反映它,即可獲得想要的功能。 例如,ConstructorBuilder.Invoke 方法沒有被完整實作。

  • 自訂修飾詞目前不支援。

請參閱

其他資源

使用反映發出