10

我遇到了派生类的基本构造函数没有被执行的问题。我已经这样做了一百次,但我终其一生都无法弄清楚为什么基础构造函数没有执行。我希望有人能找到我想念的简单的东西。代码示例如下。有谁知道为什么我的基本构造函数没有被首先调用?我有其他以相同方式实现的类,并且始终首先调用基本构造函数。

if (item.GetType() == typeof(OtherChargeItem))
{
    OtherChargeItemAddUpdateTest test = new OtherChargeItemAddUpdateTest((OtherChargeItem)item);
    test.StartPosition = FormStartPosition.CenterParent;
    test.ShowDialog();
}

public OtherChargeItemAddUpdateTest()
{
    InitializeComponent();
}

public OtherChargeItemAddUpdateTest(OtherChargeItem item)
        : base()
{
    currentItem = item;
}
4

1 回答 1

27

看起来您想在同一个类中调用默认构造函数,而不是基类,因此InitializeComponent在调用第二个构造函数时会被调用。尝试this()代替base().

于 2012-06-18T16:16:36.873 回答