c# 以类名为参创建父类相同的类的实例代码

时间:2021-05-20

以下为例:

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# 以类名为参创建父类相同的类的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章