求救——反射机制怎么运用? 从数据库获得50个功能模块,动态加载在TreeView上,点击该node时,实例化该模块对应保存在数据库的窗体名称但是要怎样实例化这个form呢?我查了一下,好像要使用Reflection反射机制,但是听说会很大程度的牺牲性能,请问怎样解决这个问题啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try..object obj = Activator.CreateInstance(Type.GetType("命名空间.类名")); 我是这样弄的,谢谢大家!private void PRMS_TreeView_AfterSelect(object sender, TreeViewEventArgs e) { if (PRMS_TreeView.SelectedNode.Tag != null) { try { //获得 PRMS_OBJECT 程序集中的所有类型 Assembly a = Assembly.LoadFrom("PRMS_OBJECT.exe"); Type[] mytypes = a.GetTypes(); Type ht = null; foreach (Type t in mytypes) { if (t.Name.Equals(this.PRMS_TreeView.SelectedNode.Tag)) { ht = t; break; } } if (ht != null) { //调用无参数构造函数,并且把该类强制类型转化为Form Form frm = (Form)Activator.CreateInstance(ht); frm.MdiParent = this; frm.Show(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } } 如何将组合的词组还原(请教大家) 如何判断Mouse位置是否位于某条直线及其箭头线帽内? c# 记账凭证 如何获得外部文件路径? 请哪位大师给这个正则表达式修正一下! XNA已经正式发布了,有没有研究的呢?喜欢游戏开发的朋友来报个名 (在web开发中)弹出窗口传值到父窗口的问题..急!烦请各位关注... DataGrid的Item属性我这里怎么没有,怎么样才能使用该属性? 窗体继承问题 请问如何在C#中把int转换成char? 数据库设计说明书 各位大师救命啊 !!!!System.Data.OleDb.OleDbException: ORA-01036: 非法的变量名/编号
private void PRMS_TreeView_AfterSelect(object sender, TreeViewEventArgs e)
{
if (PRMS_TreeView.SelectedNode.Tag != null)
{
try
{
//获得 PRMS_OBJECT 程序集中的所有类型
Assembly a = Assembly.LoadFrom("PRMS_OBJECT.exe");
Type[] mytypes = a.GetTypes();
Type ht = null;
foreach (Type t in mytypes)
{
if (t.Name.Equals(this.PRMS_TreeView.SelectedNode.Tag))
{
ht = t;
break;
}
}
if (ht != null)
{
//调用无参数构造函数,并且把该类强制类型转化为Form
Form frm = (Form)Activator.CreateInstance(ht);
frm.MdiParent = this;
frm.Show();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}