このコードを使用して、別の MDIchild フォーム内から MDIchild フォームをロードします。私は自分のメソッドでジェネリックを使用する方法をまだ学んでいるので、ここの人々の助けを借りて最終的にメソッドが機能するようになると、私の場合は同じように仕事をするわずかに異なる2つのコードで終わります。だから私の質問は - これらの 2 つのバリエーションが同じ仕事をするのは偶然なのか、それとも 2 つのアプローチに違いがないだけなのかということです。
したがって、ここにバージョン 1 があります。
protected void LoadAForm<T>(ref T sendTo) where T : Form
{
MainForm frm = this.MdiParent as MainForm;
if (frm != null)
{
sendTo = SingletonFormProvider.GetInstance<T>(frm, true);
sendTo.MdiParent = frm;
sendTo.Dock = DockStyle.Fill;
sendTo.Show();
}
}
そして、ここにバージョン2があります:
protected void LoadAForm<T>(ref T sendTo) where T : Form
{
MainForm frm = this.MdiParent as MainForm;
T temp;
if (frm != null)
{
temp= SingletonFormProvider.GetInstance<T>(frm, true);
temp.MdiParent = frm;
temp.Dock = DockStyle.Fill;
temp.Show();
}
}
それで、インスタンス化を使用するために(違いがあれば)ありT temp
ますか、それとも同じことですか?