求教, 不通过引用, 如何显示另一个项目中的窗体?

lethwei 2009-01-09 04:56:50
solution 底下有两个项目: proj1, proj2
proj2 引用了 proj1
但是现在需要在 proj1 中显示 proj2 的一个窗体, 直接在 proj1 中添加 proj2 的引用不行, 因为触犯了"循环引用"限制

项目组织肯定有问题, 有时间会重新调整, 但是现在有没有什么技巧能够绕过这个问题? 谢谢!
...全文
107 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
love_幸运儿 2009-01-09
  • 打赏
  • 举报
回复
項目路徑 string path="UMS.Path.dll";
Assembly assem = Assembly.LoadFrom(path);
Type t = assem.GetType("UMS.Path."+formName);
object obj = System.Activator.CreateInstance(t, arg.ParamsList);
Form newForm = obj as Form;
newForm.Show();

genius_tong 2009-01-09
  • 打赏
  • 举报
回复
呵呵 学习
lethwei 2009-01-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhantianyou 的回复:]
項目路徑 string path="UMS.Path.dll";
Assembly assem = Assembly.LoadFrom(path);
Type t = assem.GetType("UMS.Path."+formName);
object obj = System.Activator.CreateInstance(t, arg.ParamsList);
Form newForm = obj as Form;
newForm.Show();
反射
[/Quote]
非常感谢! 问题解决了
homejiji 2009-01-09
  • 打赏
  • 举报
回复
mark学习
evaa006 2009-01-09
  • 打赏
  • 举报
回复
用反射
cwhwin 2009-01-09
  • 打赏
  • 举报
回复
委托呀,传参数
zhantianyou 2009-01-09
  • 打赏
  • 举报
回复
項目路徑 string path="UMS.Path.dll";
Assembly assem = Assembly.LoadFrom(path);
Type t = assem.GetType("UMS.Path."+formName);
object obj = System.Activator.CreateInstance(t, arg.ParamsList);
Form newForm = obj as Form;
newForm.Show();
反射
sungod333 2009-01-09
  • 打赏
  • 举报
回复
在proj1中写一个委托返回form,在proj2中将委托加上方法,proj1调用委托,返回form.

应该可行
优途科技 2009-01-09
  • 打赏
  • 举报
回复
Form form = Assembly.Load(dllpath).CreateInstance(formclassName) as Form;
form.Show();
  • 打赏
  • 举报
回复
Assembly.Load进来
Form form = Assembly.Load(dllpath).CreateInstance(formclassName) as Form;
form.Show();
HDNGO 2009-01-09
  • 打赏
  • 举报
回复
反射??

110,536

社区成员

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

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

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