当前位置: 首页 > news >正文

徐州网站制作系统珠海做网站设计有哪些

徐州网站制作系统,珠海做网站设计有哪些,正常网站跳出率,广告公司网站开发程序目的:实现对一个bool型变量的监视,当数据变化时,调用某一个函数,引申出委托、事件等基础概念。 方法一、在form1的类定义中,定义如下代码,这样定义是最直接的,也非常简单,没有涉…

程序目的:实现对一个bool型变量的监视,当数据变化时,调用某一个函数,引申出委托、事件等基础概念。

方法一、在form1的类定义中,定义如下代码,这样定义是最直接的,也非常简单,没有涉及到委托和事件。缺点也很明显,如果有多个这样的变量,共用改变之后的触发函数,则可移植性能要差很多。

public partial class Form1 : Form
{private bool start=false;   //上位机的启动变量,传递给plc,实验完成后由PLC清0//public event Action<bool> StartChanged;                             //public event Action<bool> StartChanged;public bool Start{get { return start; }set{if (start != value){start = value;OnStartChanged2(start);}}}private void OnStartChanged2(bool newStartValue){// 这里可以添加更具体的处理逻辑,而不是仅仅输出到控制台Console.WriteLine($"Start value changed to: {newStartValue}");}
}

方法二、应用委托和事件的方法,代码如下。public event Action<bool> StartChanged; 这句话定义了一个委托事件,事件就是特殊的委托,也就是一个函数的入口指针,如果满足格式(也就是签名)的要求,可以注册到别的方法上。StartChanged += OnStartChanged2;这句话的含义是,给这个委托找一个具体的方法,也就是赋一个具体函数入口指针。

总结:这种方法看着更麻烦了,但是层次更加清晰了,如果有多个bool型变量具有相同的方法,这时候优点就显现出来了。

 public partial class Form1 : Form{private bool start=false;   //上位机的启动变量,传递给plc,实验完成后由PLC清0public event Action<bool> StartChanged;                             public bool Start{get { return start; }set{if (start != value){start = value;//如果StartChanged不为空,则调用 StartChanged 委托,并且把start作为参数传递,否则什么否不做,直接返回  StartChanged?.Invoke(start);          }}}private void OnStartChanged2(bool newStartValue){// 这里可以添加更具体的处理逻辑,而不是仅仅输出到控制台Console.WriteLine($"Start value changed to: {newStartValue}");}private void Initalize_czl()//测试界面初始化{  StartChanged += OnStartChanged2;}
}

三、多个变量共用该方法,代码如下。这时候起到的作用就是共用了方法,这些暂时还没有引入更多的参数,应该有更好的方法,暂时记录到这里。

    public partial class Form1 : Form{private bool start1=false;   //上位机的启动变量,传递给plc,实验完成后由PLC清0private bool start2 = false;private bool start3 = false;public event Action<bool> StartChanged;                             //public     event Action<bool> StartChanged;public bool Start1{get { return start1; }set{if (start1 != value){start1 = value;StartChanged?.Invoke(start1);//如果StartChanged不为空,则调用 StartChanged 委托,并且把start作为参数传递,否则什么否不做,直接返回//OnStartChanged2(start);}}}public bool Start2{get { return start2; }set{if (start2 != value){start2 = value;StartChanged?.Invoke(start2);//如果StartChanged不为空,则调用 StartChanged 委托,并且把start作为参数传递,否则什么否不做,直接返回//OnStartChanged2(start);}}}public bool Start3{get { return start3; }set{if (start3 != value){start3 = value;StartChanged?.Invoke(start3);//如果StartChanged不为空,则调用 StartChanged 委托,并且把start作为参数传递,否则什么否不做,直接返回//OnStartChanged2(start);}}}private void Initalize_czl()//初粘力测试界面初始化{   StartChanged += OnStartChanged2;}
}

http://www.yayakq.cn/news/860504/

相关文章:

  • 如何管理企业网站深圳创业补贴2024
  • 如何设计响应式网站卧室室内装修设计网站
  • 天津网站建设天津微信电影网站怎么做
  • 南昌做房地产用哪个网站企业解决方案和应对措施的区别
  • 苏州精品网站建设帝国cms官方网站
  • 微网站免网站建设的出发点
  • 北京企业网站建设哪家服务好山东济南网站新闻
  • 网站开发运营维护方案建议免费网站为何收录比较慢
  • 免费建站建设网站八年级信息技术网页制作
  • 保山市住房和城乡建设局门户网站深圳高端企业官方网站建设
  • 怎样编辑网站wordpress 网站统计插件下载
  • 中国建设银行进不了登录网站shein跨境电商官网
  • 自贡建设局网站免费咨询服务合作协议模板
  • 井冈山网站建设云南省工程建设信息网站
  • 做鲜榨果汁店网站今天发生的新闻
  • 宁波模板做网站html5 网站模板
  • 电子商务网站建设课后习题手机微信怎么创建公众号
  • 西安网站建设托管泗水县最新消息
  • 深圳做棋牌网站建设哪家便宜什么网站可以在线做雅思
  • 一键wordpress建站无锡装修公司做网站
  • 创世通网站建设永康网站优化公司
  • 网站排名软件优化如何把网站上传到空间
  • 单个页面的网站视频软件
  • 网站技术制作流程图wordpress怎么登
  • 半商城性质网站源代码用ps怎么做短视频网站
  • 优化方案官网合肥seo网站推广外包
  • 手机网站模版php源码简历在线制作免费
  • 网站备案收费么做网站怎么注册营业执照
  • 公司网站建设步骤做网站贵
  • 怎么攻击网站吗广告公司网站(附falsh及源代码)