zwggzhf 2022-05-24 11:42 采纳率: 44.4%
浏览 277
已结题

C#中设置监控值,当监控值字段数据发生改变时,某一个正在执行的循环重新循环

大概就是标题描述的,比如我有一个While循环,当我发现某个字段的值发生改变时,Whlie循环执行Contiue

  • 写回答

1条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-05-24 11:59
    关注

    参考一下,定义一个变量value

    public class Program
    {
        //需要监控的字段
        private int myValue;
     
        //属性设置,此处调用了事件触发函数
        public int MyValue
        {
            get { return myValue; }
            set
            {
                //如果变量改变则调用事件触发函数
                if (value!=myValue)
                {
                    WhenMyValueChange();
                }
                myValue = value; 
            }
        }
     
        //定义的委托
        public delegate void MyValueChanged(object sender, EventArgs e);
        //与委托相关联的事件
        public event MyValueChanged OnMyValueChanged;
     
        //构造函数初始化初值并绑定一个事件处理函数
        public Program()
        {
            myValue = 0;
            OnMyValueChanged += new MyValueChanged(afterMyValueChanged);
     
        }
     
        //事件处理函数,在这里添加变量改变之后的操作
        private void afterMyValueChanged(object sender, EventArgs e)
        {
            //do something
        }
     
        //事件触发函数
        private void WhenMyValueChange()
        {
            if (OnMyValueChanged != null)
            {
                OnMyValueChanged(this, null);
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 创建了问题 5月24日

悬赏问题

  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥30 itest不允许查看成绩怎么办
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏