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

新建网站怎么做wordpress缓存图片

新建网站怎么做,wordpress缓存图片,氧os哪个网站做的最好,沪尚茗居官网上海概述事件属于委托的一个子集#xff0c;像我们平时界面上的鼠标点击按钮后响应事件、事件的发布和订阅等都需要用到委托.通过委托可以很好的实现类之间的解耦好。事件委托EventHandler的函数原型如下#xff1a;delegate 表示这个个委托#xff0c;事件委托没有返回值#…概述     事件属于委托的一个子集像我们平时界面上的鼠标点击按钮后响应事件、事件的发布和订阅等都需要用到委托.通过委托可以很好的实现类之间的解耦好。事件委托EventHandler的函数原型如下delegate 表示这个个委托事件委托没有返回值有两个入参sender是事件触发的对象e是一个泛型的事件类型参数public delegate void EventHandlerTEventArgs(object sender, TEventArgs e);用法举例用法举例1窗体关闭事件public void Cancel(object obj, bool e){if (e){sw.AppendLine(try clsoe window);}else{sw.AppendLine(clsoe window is cancel);}}//事件委托1事件是委托的子集EventHandlerbool windowTryClose Cancel;windowTryClose(this, false);这里在定义了一个委托EventHandlerbool将方法Cancel委托给他然后嗲用委托执行。注意EventHandlerbool windowTryClose Cancel;是 EventHandlerbool windowTryClose new EventHandlerbool(Cancel);的简写传入的参数是false所以运行结果clsoe window is cancel用法举例2 按钮点击事件//事件委托2Button button new Button();button.ClickEvent Button_Click;button.ClickAction();public void Button_Click(Object sender, EventArgs args){sw.AppendLine(这是按钮点击事件);}public class Button{public EventHandler ClickEvent;public void ClickAction(){ClickEvent.Invoke(this, new EventArgs());}}这里主要是写了按钮点击事件的一个委托一般在定义事件委托时前面可以用event去修饰我这里省略了用法举例3 事件发布与订阅//事件委托3var myPublishEventArgs new PublishEvent();_ new SubscribeEvent(myPublishEventArgs);myPublishEventArgs.Publish();public class MyPublishEventArgs : EventArgs{public string InfoString { get; set; }}public class PublishEvent{public event EventHandlerMyPublishEventArgs OnPublish;public void Publish(){OnPublish?.Invoke(this, new MyPublishEventArgs() { InfoString hello });}}public class SubscribeEvent{public SubscribeEvent(PublishEvent publishEvent){publishEvent.OnPublish Subscribe;}public void Subscribe(Object sender, MyPublishEventArgs args){MessageBox.Show($我接收到的消息是:{args.InfoString});}}这里封装了几个类MyPublishEventArgs是我要发送的事件MyPublishEventArgs这个类是发布者SubscribeEvent这个是订阅者主要订阅事件一定要放在发布前这样才能成功接收到事件.委托部分这里就讲解完事了全部源码如下using PropertyChanged; using System; using System.Text; using System.Threading; using System.Windows;namespace Caliburn.Micro.Hello.ViewModels {[AddINotifyPropertyChangedInterface]public class DelegateViewModel : Screen,IViewModel{public string ResultString { get; set; }delegate int DelegateM(string a, string b);//声明,可以有返回值也可以没有StringBuilder sw new StringBuilder();public DelegateViewModel(){DisplayName DelegateTest;}public void Test(){sw.AppendLine($【Delegate测试】执行线程id:{Thread.CurrentThread.ManagedThreadId});//func用法1//Funcstring, string, int func new Funcstring, string, int(p.StringAddA);Funcstring, string, int func StringAddA;//简写var result func.Invoke(3, 5);//可以简化为func(3, 5)sw.AppendLine($【func用法1】func返回结果是:{result});//func用法2用lamda表达式简化写法,通过注册实现多播委托func (a, b) {return int.Parse(a) - int.Parse(b);};sw.AppendLine($【func用法2】func返回结果是:{func(3, 5)});//Action用法//Actionstring, string action new Actionstring, string(p.StringAddB);Actionstring, string action StringAddB;//简写IAsyncResult asyncResult action.BeginInvoke(3, 5, null, null);//action(3, 5),BeginInvoke异步执行即开启新现成处理StringAddBaction.EndInvoke(asyncResult);//阻塞委托直到执行完成if (asyncResult.IsCompleted){sw.AppendLine($【Action用法】当前异步委托线程已执行完成);}Test(func, action);//将方法委托后转化为参数进行传递//delegate用法//DelegateM delegateM new DelegateM(p.StringAddA);DelegateM delegateM StringAddA;//简写sw.AppendLine($【delegate用法】delegate返回结果是:{delegateM(3, 5)});//事件委托1事件是委托的子集EventHandlerbool windowTryClose new EventHandlerbool(Cancel);windowTryClose(this, false);//事件委托2Button button new Button();button.ClickEvent Button_Click;button.ClickAction();//事件委托3var myPublishEventArgs new PublishEvent();_ new SubscribeEvent(myPublishEventArgs);myPublishEventArgs.Publish();ResultString sw.ToString();}public int StringAddA(string a, string b){return int.Parse(a) int.Parse(b);}public void StringAddB(string a, string b){sw.AppendLine($【Action用法】Action执行线程id:{Thread.CurrentThread.ManagedThreadId});sw.AppendLine($【Action用法】Action执行结果:{(int.Parse(a) int.Parse(b))});}public void Test(Funcstring, string, int f, Actionstring, string a){a.Invoke(f.Invoke(3, 5).ToString(), 5);}public void Cancel(object obj, bool e){if (e){sw.AppendLine(try clsoe window);}else{sw.AppendLine(clsoe window is cancel);}}public void Button_Click(Object sender, EventArgs args){sw.AppendLine(这是按钮点击事件);}public void MyEvent(Object sender, EventArgs args){sw.AppendLine(这是按钮点击事件);}}public class Button{public EventHandler ClickEvent;public void ClickAction(){ClickEvent.Invoke(this, new EventArgs());}}public class MyPublishEventArgs : EventArgs{public string InfoString { get; set; }}public class PublishEvent{public event EventHandlerMyPublishEventArgs OnPublish;public void Publish(){OnPublish?.Invoke(this, new MyPublishEventArgs() { InfoString hello });}}public class SubscribeEvent{public SubscribeEvent(PublishEvent publishEvent){publishEvent.OnPublish Subscribe;}public void Subscribe(Object sender, MyPublishEventArgs args){MessageBox.Show($我接收到的消息是:{args.InfoString});}} }运行结果
http://www.zqtcl.cn/news/998659/

相关文章:

  • 洪栾单页网站建设象山县城乡和住房建设局网站
  • 网站留言发送到邮箱潍坊商城网站建设
  • 四川省的住房和城乡建设厅网站首页产品设计是冷门专业吗
  • 北仑建设银行网站网站设计 导航条
  • 如何做网站宣传片单位做网站费用怎么记账
  • 西安网站建设现状购物app开发
  • 2019年做网站还有前景吗手机制作表格教程
  • 校园网站html模板南昌网站建设优化
  • 网站的建立目的来宾网站优化
  • 建设国家游戏网站网站建设规范方案
  • 做网站价位wordpress tag 列表
  • 网站建设 李奥贝纳百度软文推广公司
  • 网站建设流程平台企业微信开发者文档
  • 唐山建设网站的网站青海网站建设企业
  • 北京企业建站系统模板网站建设公司专业网站科技开发
  • 工商注册在哪个网站手机浏览器网站开发
  • 建设电影网站的目的各个国家的google网站
  • centos 网站搭建中国互联网协会调解中心
  • 手机端视频网站模板下载做单页网站需要做什么的
  • 太原网站建设外包中国做乱的小说网站
  • 青海做网站哪家好旅游网站的功能及建设
  • 百度网站优化工具汉川网页设计
  • 网站标签优化怎么做可以看图片的地图什么软件
  • 品牌网站建设9小蝌蚪9wordpress会务网站模版
  • 免费推广网站入口202网页与网站建设
  • 武夷山市网站建设网站标签制作
  • 广州网站定制开发方案河南省新闻发布会直播
  • 普陀网站建设哪家便宜网站建设辶金手指排名十五
  • 网站怎么做百度百科租房网站开发视频教程
  • 动态做网站做自己的网站不是免费的