C# 使用反射实现根据名称动态创建窗体的几种方法
2011-07-14 15:55
991 查看
//方法1使用activator方法创建实例 { string str = null; str = "Form2"; //必须是 命名空间+点+窗体类名(这里假设为命名空间为空) Assembly tempAssembly = Assembly.GetExecutingAssembly(); Type t = tempAssembly.GetType(str); object[] args = null; object o = System.Activator.CreateInstance(t, args); ((Form2)o).Show(); //Dim frm2 As Form = CType(tempAssembly.CreateInstance(str), Form) //frm2.Show() //////////////////方法2使用构造函数的invoke方法创建实例。 Type[] ty = { }; //该构造函数没有参数 ConstructorInfo c = t.GetConstructor(ty); //获得没有参数的构造函数 object[] args1 = null; //参数为空 object p = c.Invoke(null); //创建实例时参数为空 ((Form2)p).Show(); //方法3 ‘///////////////////////////////////////使用assembly.createinstance方法创建实例 string str = null; str = "Form2"; //必须是 命名空间+点+窗体类名 System.Reflection.Assembly tempAssembly = System.Reflection.Assembly.GetExecutingAssembly(); Form frm2 = (Form)tempAssembly.CreateInstance(str); frm2.Show(); }
相关文章推荐
- 使用反射实现根据名称动态创建窗体的几种方法。
- 使用反射实现根据名称动态创建窗体的几种方法。
- 使用反射实现根据名称动态创建窗体的几种方法
- C#反射动态调用dll中的方法及使用QuartZ.net实现作业调度
- 设计模式学习(十四)————抽象工厂模式(使用Qt框架的反射技术——根据字符串动态创建类来实现)
- [c#美味] 使用反射动态创建实例并调用方法
- [.Net码农]C#动态创建和动态使用程序集、类、方法、字段等(二)
- C#使用List类实现动态变长数组的方法
- [转]C# 关于反射类[System.Reflection] 根据类名 动态调用 类方法
- javascript实现根据函数名称字符串动态执行函数的方法示例
- C#实现反射调用动态加载的DLL文件中的方法
- C# 反射动态创建窗体
- C#动态创建和动态使用程序集、类、方法、字段等
- 使用C#实现只允许运行一个程序实例的几种方法
- C#动态创建和动态使用程序集、类、方法、字段等
- C# 根据包含文件的路径和文件的名称的字符串获取文件名称的几种方法
- 使用反射和codeDom实现C#插件开发(3)主程序开发之动态类
- C# 反射-通过继承接口实现创建对象并调用方法
- C#中使用委托创建事件实现两个窗体间通信
- C#动态创建和动态使用程序集、类、方法、字段等(一)