他のクラスが継承するForm基本クラスを含むVisual Studio 2010 Windows Formsアプリケーションがあります。基本クラスのコンストラクタは、子クラスが基本クラスに渡すパラメータを受け取ります。基本クラスを継承するときに「コンストラクターが型でMyTypeが見つかりません」
例:
Constructor on type 'MyProject.BaseForm' not found.
:
public partial class BaseForm : Form
{
public BaseForm(int number)
{
InitializeComponent();
}
}
public partial class ChildForm : BaseForm
{
public ChildForm(int number)
: base(number)
{
InitializeComponent();
}
}
私はVisualStudioをのデザインビューモードでChildFormを開こうとしたとき、私はに実行している問題は、ですが、私は次のエラーを受け取ります注:エラーに関係なく、プロジェクトはコンパイルされ正常に実行されます。
パラメータを含まないコンストラクタでオーバーロードするとエラーを回避できます。
例:(これはエラーを取り除く)
public partial class BaseForm : Form
{
public BaseForm(int number)
{
InitializeComponent();
}
public BaseForm()
{
InitializeComponent();
}
}
public partial class ChildForm : BaseForm
{
public ChildForm(int number)
: base(number)
{
InitializeComponent();
}
}
私の質問は、どのように私は、パラメータなしのコンストラクタを含めると、デザインビューエラーを回避しない基本クラスを作成することができますか?
必要なパラメータのないインスタンスコンストラクタを 'private'にできますか? –
@JeppeStigNielsen - はい。それが私のやり遂げたことであり、すべてがうまくいきます。 – Jed
継承されたクラスと異なる場合、基本クラスがオンになっているプロジェクトを必ずコンパイルしてください。 –