我正在尝试创建一个通用方法来检查表单是否已打开。 但我不能使OfType工作,我试图使用我的参数变量的get类型。
private void OpenForm(Form myForm)
{
if (!Application.OpenForms.OfType<GetType??>().Any())
{
myForm.MdiParent = this;
myForm.WindowState = FormWindowState.Maximized;
myForm.Show();
}
}
如何获取参数的类型并在OfType中使用?
答案 0 :(得分:2)
使用类型参数声明您的方法,使其成为通用的。
private void OpenForm<T>(T myForm) where T : Form
{
if (!Application.OpenForms.OfType<T>().Any())
{
myForm.MdiParent = this;
myForm.WindowState = FormWindowState.Maximized;
myForm.Show();
}
}
有关通用方法的详细信息,请参阅http://msdn.microsoft.com/en-us/library/twcad0zb.aspx
上的MSDN