我使用此代碼從另一個MDIchild窗體中加載MDIchild窗體。我仍然在學習如何在我的方法中使用泛型,所以當我最終在人們的幫助下讓我的方法開始工作時,我會用兩個稍微不同的代碼來結束,這些代碼在我的情況下以相同的方式執行。所以我的問題是 - 這兩個變體做同樣的工作或兩種方法之間沒有區別是巧合。C# - 調用這個通用方法的兩種方法。有什麼區別嗎?
因此,這裏是版本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
實例或者它僅僅是一回事嗎?
有什麼問題?你在第二個版本中使用'sendTo'在哪裏?如果他們是相似的,請解釋HOW –
您**從來沒有**在第二種方法中使用'sendTo',除非您將'sendTo'設置爲temp。 – LukeHennerley
這兩種方法都是直接使用'sendTo'或者聲明'T temp'並使用它來完成相同的工作。我只想知道這兩種工作方式是否有差異。 – Leron