我遇到的问题是派生类的基础构造函数没有被执行。我这样做了一百次,我无法弄清楚为什么基本构造函数没有执行。我希望有人能找到一些我想念的简单东西。代码示例如下。有没有人知道为什么我的基础构造函数不会被调用?我有其他类以相同的方式实现,并且始终首先调用基础构造函数。
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;
}
答案 0 :(得分:25)
看起来你想要在同一个类中调用默认构造函数,而不是基类,因此在调用第二个构造函数时会调用InitializeComponent
。请尝试使用this()
代替base()
。