以下為例:
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用作約束 { return new T(); }
然后可以調用Form f=CreateForm<參數>();//參數為Form1,Form2,Form3等。
以上這篇c# 以類名為參創建父類相同的類的實例代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答