基础构造函数未被调用

时间:2012-06-18 16:13:37

标签: c# constructor

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

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;
}

1 个答案:

答案 0 :(得分:25)

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