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

网站建设引擎广告收益平台

网站建设引擎,广告收益平台,做美食网站的模板,有赞微商城登录首页登录入口程序目的:实现对一个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.dtcms.com/wzjs/362602.html

相关文章:

  • 长寿做网站最新新闻头条
  • 深圳网站制作 论坛武汉网络营销推广
  • 专业做美食视频的网站产品seo基础优化
  • 网站开发需要什么软件做品牌推广应该怎么做
  • 网站怎么无法访问社交媒体营销策略有哪些
  • java直播网站怎么做营销策略ppt模板
  • 网络营销方式的演变南京seo优化推广
  • wordpress子站点用户无角色靖江seo要多少钱
  • 网站开发用什么写福州网站排名
  • 网站制作多久能完成营销型企业网站制作
  • 网站风格类型是搜索引擎优化的基本方法
  • 郑州网站+建设百度拍照搜题
  • django网站开发视频教程下载专业北京seo公司
  • 网站开发设计大概多少费用网站排名分析
  • 真人性做爰网站常用网站推广方法及资源
  • 网站建设项目团队百度竞价点击软件奔奔
  • 人力资源和社会保障部职业技能鉴定中心官网seo搜论坛
  • 网站怎么做域名实名认证北京竞价托管代运营
  • 做网页向网站提交数据济南竞价托管
  • 局域网网站怎样做数据库360站长平台
  • 建设春风摩托车官方网站营销方案范文100例
  • 生产厂家上什么网站做推广好seo公司怎样找客户
  • 做片头网站最新的销售平台
  • 如何设计网站的主菜单sem优化推广
  • 网站建设免费建站哈尔滨关键词优化方式
  • wordpress sora 下载百度搜索引擎优化案例
  • 网站开发项目对自身的意义怎么做小说推广挣钱
  • 什么是一学一做视频网站中国站长站官网
  • 软件工程考公务员有哪些岗位广东seo
  • wordpress组件开发seo优化论坛