封装好的单例模式

 
 

之前写过一篇博文,单例模式的应用,但是每个窗体都需要判断一下,窗体要是多的话,比较麻烦。现在决定将单例模式抽出来,封装到一个单独的类中,供其他窗体调用。

/// <summary>
/// Version:V1.0.0
/// Creator:promsing
/// CreateDate:2020/10/31 11:18:56
/// Function: 单例模式—泛型实现
/// Component:一个实例窗体的方法
/// <summary>
public static class Singleton<T> where T : Form, new()      //参数类型基类必须是Form,具有无参数的构造参数
{                                //where约束
     public static T frm;
     //若实例不存在或窗体已经被释放,new一个窗体的实例
     public static T CreateInstrance()
     {
         if (frm == null || frm.IsDisposed)
         {
             frm = new T();
         }
         frm.Show();
         return frm;
     }
}

UI层直接调用即可:

//单例模式
FrmAddNotice frmAddNotice = Singleton<FrmAddNotice>.CreateInstrance();
 //单例模式
FrmBasicData frmBasicData = Singleton<FrmBasicData>.CreateInstrance();

若是想让自己的窗体更加美观,整体舒适简洁,可以移步到这条博客winfrom窗体美化

如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。

 

猜你喜欢

转载自blog.csdn.net/promsing/article/details/109688460
今日推荐