c# 以类名为参创建父类相同的类的实例代码
发布时间:2020-12-15 06:10:38 所属栏目:百科 来源:网络整理
导读:以下为例: Form1,Form2,Form3……继承自Form,可以通过Form f=new Form1();等建立Form子类的实例,如果太多子类,希望通过传递一个参数,比如子类类名就可以建立实例,有什么办法? 方法一:利用反射 string str=“命名空间.Form1(Form2……)”;Type t=Ty
以下为例: 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# 以类名为参创建父类相同的类的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails-3 – Mongoid,Heroku,Device,MongoHQ和Rails
- Oracle又裁1800人:SPARC及其基于Unix的Solaris操作系统寿终
- 如何快速学习正则表达式
- c – 为什么没有包含iostream头文件?
- 2015级考研复习及面试用数据结构作业集判断-鲁法明
- ruby-on-rails – 我可以合并系统库(例如libxml2)我编译成一
- cocos2dx 中 scene(), create(), init() 调用关系
- 如何使用vb.net将消息从一台计算机发送到另一台计算机?
- 一道关于C#参数传递的面试题分析
- ruby-on-rails – 重定向不起作用