如何实现一个通用的OpenForm方法来允许任何类型的Form

本文关键字:OpenForm 方法 许任何 Form 类型 实现 何实现 一个 | 更新日期: 2023-09-27 17:59:20

我在FormMain : Form中有这个代码如何实现OpenForm方法以允许我打开任何类型的Form

    // the method in question
    void OpenFrom<T>()
    {
        // How to implement this generic method to get rid of OpenForm1() and OpenForm2() ???
    }
    // Open Form1 instance
    void OpenForm1()
    {
        new Form1().Show();
    }
    // Open Form2 instance
    void OpenForm2()
    {
        new Form2().Show();
    }
    OpenForm<Form1>(); // instead of OpenForm1()
    OpenForm<Form2>(); // instead of OpenForm2()

如何实现一个通用的OpenForm方法来允许任何类型的Form

以下是

 void OpenFrom<T>() where T : Form, new()
 {
     new T().Show();
 }