基础的反射问题,请帮忙!

zl194 2009-12-24 04:35:42
有个方法的参数,是一个字符串型的窗体名,
我怎样将这个字符串型的窗体名实力话为窗体并显示出来。
这个窗体和调用的方法在相同的解决方案里,命名空间相同。但窗体在一个子文件夹里。

请帮我写个代码,谢谢各位!
...全文
113 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl194 2009-12-24
  • 打赏
  • 举报
回复
解决了,是我的问题,非常感谢!
zl194 2009-12-24
  • 打赏
  • 举报
回复

bills.billbase form = (bills.billbase)Assembly.Load("taskprocess").CreateInstance("taskprocess.bills." + billID);
form.ShowDialog();

这次加载程序集没问题了,但是提示 未将对象引用设置到对象的实例。提示form.ShowDialog(); 这行错误。
fengjian_428 2009-12-24
  • 打赏
  • 举报
回复
把.dll去掉
zl194 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wholesale3151 的回复:]
bills.bd2 fm = new taskprocess.chinese wholesalers.bd2();
            fm.ShowDialog();

[/Quote]
真缺德,别人忙的不得了,你来这做广告链接!
wholesale3151 2009-12-24
  • 打赏
  • 举报
回复
bills.bd2 fm = new taskprocess.chinese wholesalers.bd2();
fm.ShowDialog();
平生我自如 2009-12-24
  • 打赏
  • 举报
回复
我顶
zl194 2009-12-24
  • 打赏
  • 举报
回复

bills.billbase form = (bills.billbase)Assembly.Load("taskprocess.dll").CreateInstance("taskprocess.bills." + billID);
form.ShowDialog();


上面是我写的。 bills.billbase 是一个基础窗体,bd2是从他继承的。
我运行的时候报错。【未能加载程序taskprocess.dll或它的一个依赖项】
zl194 2009-12-24
  • 打赏
  • 举报
回复
我如果直接实例化时这样的。

bills.bd2 fm = new taskprocess.bills.bd2();
fm.ShowDialog();


如果要写的话,怎么写。
taskprocess 是工程的名字,生成的文件是taskprocess.dll
fengjian_428 2009-12-24
  • 打赏
  • 举报
回复
程序集名称添进去 一般就是类所在的工程的名字
zl194 2009-12-24
  • 打赏
  • 举报
回复
("程序及名称") 说的是什么??
fengjian_428 2009-12-24
  • 打赏
  • 举报
回复
命名空间.
fengjian_428 2009-12-24
  • 打赏
  • 举报
回复

Form form= (Form)Assembly.Load("程序及名称").CreateInstance("命名空间" + 窗体名);
form.Show();
liherun 2009-12-24
  • 打赏
  • 举报
回复
学习

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧