解决了winform作业中,一个类只实例化一次的问题

来源:互联网 发布:淘宝看自己的评价 编辑:程序博客网 时间:2024/05/21 08:59

解决方案:

在类中声明一个类类型的静态变量,如:singleton;然后在类中声明一个public static方法,返回类型为该类的对象类型,在方法中判断一个类对象singleton是否被实例化了,如果该类的实例singleton为null,说明该类没有被实例化,然后对该类进行实例化,代码如下

private static Maintain  singleton;

 public static Maintain Instance()
  {
   if(null == singletonForm)
   {
    singletonForm = new Maintain();
   }

   return singletonForm;
  } 最后在protected override void Dispose( bool disposing )方法的最后一行将singleton赋值为null。或者直接在静态方法instance中的if条件句中写成if(null == singletonForm || singletonForm.IsDisposed == true)