c# 以類名為參創(chuàng)建父類相同的類的實例代碼
以下為例:
Form1,F(xiàn)orm2,F(xiàn)orm3……繼承自Form,可以通過Form f=new Form1();等建立Form子類的實例,如果太多子類,希望通過傳遞一個參數(shù),比如子類類名就可以建立實例,有什么辦法?
方法一:利用反射
string str=“命名空間.Form1(Form2……)”; Type t=Type.GetType(str); Form f=Activator.CreateInstance(t);
這樣就可以實現(xiàn)想要的了,str為變量,當(dāng)然,傳參時需要加上命名空間
方法二:利用泛型
T CreateForem<T>() where T : Form, new()//這里的new用作約束
{
return new T();
}
然后可以調(diào)用Form f=CreateForm<參數(shù)>();//參數(shù)為Form1,F(xiàn)orm2,F(xiàn)orm3等。
以上這篇c# 以類名為參創(chuàng)建父類相同的類的實例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#反射調(diào)用dll文件中的方法操作泛型與屬性字段
這篇文章介紹了C#反射調(diào)用dll文件中的方法操作泛型與屬性字段,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
Winform學(xué)生信息管理系統(tǒng)主頁面設(shè)計(2)
這篇文章主要為大家詳細(xì)介紹了Winform學(xué)生信息管理系統(tǒng)主頁面設(shè)計思路,感興趣的小伙伴們可以參考一下2016-05-05

