首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何控制一个类的生命周期

2012-04-20 
怎么控制一个类的生命周期?我想写一个程序 有很多的窗体,但是有一个类,这个类里的功能是负责socket通讯的,

怎么控制一个类的生命周期?
我想写一个程序 有很多的窗体,但是有一个类,这个类里的功能是负责socket通讯的,以前的做法是在一个窗体里写socket通讯,这样很方便,但是现在想做到就算切换了窗体,始终有个类在后台负责socket通讯,这样该怎么去设计?

[解决办法]
ok,将逻辑与界面分离是很好的开始。

C# code
static class Program {    [STAThread]    static void Main() {        Application.EnableVisualStyles();        Application.SetCompatibleTextRenderingDefault(false);        Application.Run(new Form1());    }}
[解决办法]
当然有个前提,你的Network是贯穿整个程序的,那么可以放在App中,因为其生命周期长过Form。
那如果你的周期是相对比较短暂的,那么可以在响应相应事件后Open Network,然后在某个事件后Close。
但总而言之,你需要将网络部分从界面中抽离出来形成独立的Class进行管理。
[解决办法]
探讨
我想写一个程序 有很多的窗体,但是有一个类,这个类里的功能是负责socket通讯的,以前的做法是在一个窗体里写socket通讯,这样很方便,但是现在想做到就算切换了窗体,始终有个类在后台负责socket通讯,这样该怎么去设计?

[解决办法]
同时推荐你使用Spring.NET或者轻量级的Unity,控制实例的生命周期。
[解决办法]
首先,类没有生存周期,有生存周期的是类的实例,

楼主的问题,最好用单件模式实现,
[解决办法]
Unity好一点。

下载
http://msdn.microsoft.com/en-us/library/ff663144.aspx

一个简单教程

http://msdn.microsoft.com/en-us/library/ff660908(v=pandp.20).aspx

热点排行