静态类做缓存和全局对象

      静态类能做的事情很特别,很多时候它能帮大忙。 

     由于静态类不能包含this指针,因此不需要本类去实例化,可以独立对象产生,由于静态类实例化没有任何意义,所以我们最好加一个private构造函数来避免静态类的实例化。

    由于静态类的生存周期是程序执行时到程序结束,所以我们可以在这个类中包含一个对象,用static修饰,那么我们可以在其他工程域中使用这个对象,因为它是公共的。

    具于以上特点,我们可以使用使用静态类做缓存,用于所有工程中。

    实例: 在登陆界面和主窗体间加入一个form用于显示图片和一些初始化信息。

    解决办法:由于这个form必须是在登陆窗体实例化,而在主窗体加载完后才销毁,跨了程序域,用一般的办法不能够实现,如果把这个form作为全局对象就可以被公共调用。代码如下:

       public static class Utils
    {
       public static void sleep()
       {
           for (int i = 0; i < 5000; i++)
               System.Windows.Forms.Application.DoEvents();
       }

       public static frmLogo logo = new frmLogo();//全局对象

       public static void InitLogo()
       {//登陆窗体调用这个方法
           logo.Show();
           logo.SetMessage("Start...");
           logo.Refresh();
       }

       public static void DestoryLogo()
       {//主窗体调用这个方法
           logo.Dispose();
       }
    }

   从上可以看出,我们可以将登陆用户信息写在这个类中,当用户登录后,将其赋值,之后我们可以在任何地方得到登陆用户信息,相当于asp.net中Session的作用了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值