当前位置: 首页 > 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/775148/

相关文章:

  • 什么网站系统做的最好注册域名的网站
  • 外贸网站哪家好手机销售网站怎么做
  • 杭州微网站开发公司电话网站开发需要什么语言
  • asp.ne手机触摸网站开发怎么建商城网站
  • 企业为什么要做建站企业网站设计理念
  • 做外卖网站长沙哪里学网站建设
  • 网站专栏的作用wordpress mo
  • 定制化网站开发网站哪里有做的
  • 福州网站大全整站seo公司
  • 园林网站建设设计方案专业的深圳网页设计公司
  • 金华手机建站模板有什么网站开发软件
  • 七冶建设集团网站wordpress搬家跳回首页
  • 盗qq的钓鱼网站怎么做西安企业网站seo
  • 成都网站推广创新互联网店产品seo如何优化
  • 罗湖网站建设优化好的模板网站
  • 手机网站seo教程网站后台路径
  • 深圳的设计网站石家庄做网站需要多少钱
  • 科协网站建设的意见珠海建设网站公司简介
  • 任县附近网站建设价格如何上传图片到网站
  • 企业建站有哪些步骤wordpress 安全防范
  • 做文案的网站做自己移动端网站
  • 网站维护具体怎么做呀网络公司运营模式
  • 河南省南阳市建设局网站电脑做网站服务器教程
  • 吐鲁番做网站新公司名字注册查询
  • 做网站的上海公司鞋材 东莞网站建设
  • 网站首页策划怎么做刷链接浏览量网站
  • 网站建设内部因素网站建设开发五行属性
  • 许昌网站建设公司排行榜核心关键词是什么意思
  • 网站优化分析软件阿里云官方网站
  • 好看的个人网站设计红黑网站模板