销毁并重新创建一个单例

时间:2019-12-13 12:54:28

标签: c# singleton

我的程序中有一个警报类,如果某个数字小于或大于我的限制,它将显示一个带有错误消息和退出按钮的Windows窗体。

我将Windows窗体实现为单例,以在每次违反这些限制时停止获取它的新实例,因此用户不需要单击退出按钮100次。不幸的是,如果您在我遇到错误后点击退出

System.ObjectDisposedException: 'Cannot access a disposed object. Object name: 'AlarmPopup'.'

这是我的闹钟课程

        private static int alarmRaised = 0;
        public void PulseRateAlarm(int i)
        {
            if (i < EditAlarm.plLowerLimit || i > EditAlarm.plUpperLimit)
            {
                alarmRaised++;
                AlarmPopup.AlarmInstance.Show();
                Console.WriteLine("Alarm Has been Raised {0} times", alarmRaised);
            }
        } 

这是我的Alarmpopup表单

        private static AlarmPopup _AlarmInstance;
        public static AlarmPopup AlarmInstance
        {
            get
            {
                if (_AlarmInstance == null)
                    _AlarmInstance = new AlarmPopup();
                return _AlarmInstance;
            }
        }

0 个答案:

没有答案