以以下為例: Form1,Form2,Form3……繼承自Form,可以通過Form f=new Form1();等建立Form子類的實例,如果太多子類,希望通過傳遞一個參數,比如子類類名就可以建立實例,有什麼辦法? 方法一:利用反射 string str=“命名空間.Form1(Form2……)”; Type t=Type.GetType(str); Form f=Activator.CreateInstance(t);這樣就可以實現想要的了,str為變量,當然,傳參時需要加上命名空間 方法二:利用泛型 T CreateForem<T>() where T : Form, new()//這裡的new用作約束,見http://msdn.microsoft.com/zh-cn/library/51y09td4.aspx { return new T(); } 然後可以調用Form f=CreateForm<參數>();//參數為Form1,Form2,Form3等