项目里面的框架问题不太明白,高手指点。

panwen516 2009-06-11 10:03:30
//整个框架的主窗体的构造函数
public MainForm()
{
。。。。。。。。
List<WeakReference> list = __ENCList;
lock (list)
{
__ENCList.Add(new WeakReference(this));
}
。。。。。。。。
this.InitializeComponent();
}
我不太明白为什么要把主窗体自己改为弱应用,这样的话垃圾回收一启动不就把主窗体对象给回收了吗?
但项目跑起来后主窗体一直都在(如果主窗体被回收了,程序就结束,这个大家应该理解吧?)。
所以,我不太明白他们为什么要这样设计,这样的设计的好处是什么?

...全文
22 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkun_3yue3 2009-06-29
  • 打赏
  • 举报
回复
供其它窗体访问吧
panwen516 2009-06-29
  • 打赏
  • 举报
回复
如果是这样的话,那为什么要这样写呢,不是多此一举吗?
wjq 2009-06-11
  • 打赏
  • 举报
回复
WeakReference只说还是允许执行垃圾回收,没说马上去回收~外加,主窗口一直是被使用状态,不会被CG回收的

110,560

社区成员

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

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

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