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

wordpress点评站食品商务网-网站建设

wordpress点评站,食品商务网-网站建设,网站设计工具有哪些,4mm钢筋网片价格1. 委托(Delegate) 定义与作用 ‌委托‌是类型安全的函数指针,用于封装方法,支持多播(链式调用)。‌核心能力‌:将方法作为参数传递或异步回调。 使用场景 回调机制(如异步操作完…

1. 委托(Delegate)

定义与作用
  • 委托‌是类型安全的函数指针,用于封装方法,支持多播(链式调用)。
  • 核心能力‌:将方法作为参数传递或异步回调。
使用场景
  1. 回调机制(如异步操作完成通知)。
  2. 实现策略模式(动态替换算法逻辑)。
  3. LINQ查询中的条件筛选(Where(x => x > 6))。
  4. 多播委托(多个方法依次执行)。
示例代码
// 定义委托 
public delegate void LogHandler(string message); 
/ 使用委托public class Processor 
{ public void RunTask(LogHandler logger) 
{ logger("Task started.");
// ...业务逻辑 logger("Task completed."); 
} 
} // 调用方 
var processor = new Processor(); 
processor.RunTask(message => Console.WriteLine($"[LOG] {message}")); 

2. 事件(Event)

定义与作用
  • 事件‌是基于委托的语法糖,强制封装性,遵循‌发布-订阅模式‌。
  • 核心规则‌:只能在声明类内部触发(Invoke),外部仅能+=-=订阅。
使用场景
  1. GUI事件(按钮点击、鼠标移动)。
  2. 观察者模式(状态变化通知)。
  3. 松耦合系统(组件间通信)。
示例代码
// 定义事件public class OrderService 
{ 
public event EventHandler<OrderEventArgs> OrderSubmitted; 
public void SubmitOrder(Order order) 
{ 
// ...提交订单逻辑 
OnOrderSubmitted(new OrderEventArgs(order));} 
protected virtual void OnOrderSubmitted(OrderEventArgs e) 
{ OrderSubmitted?.Invoke(this, e); } } 
// 订阅事件 var service = new OrderService();service.OrderSubmitted += (sender, e) => { 
Console.WriteLine($"Order {e.OrderId} submitted!");}; 

3. 委托与事件的关系

特性委托事件
封装性可被外部直接调用只能在声明类内触发
多播支持支持
安全性低(外部可修改委托链)高(外部仅订阅/取消)
典型用途灵活的方法传递系统级通知(如UI交互)

关键点总结

  1. 委托是基础‌:事件本质是受限的委托,编译器自动生成add/remove方法。
  2. 设计原则‌:
    • 事件用于‌被动通知‌(如用户操作)。
    • 委托用于‌主动传递逻辑‌(如回调函数)。
  3. 代码规范‌:事件命名使用动词(如Clicked/DataReceived),委托命名用Handler后缀。

疑问与解决方案

Q1:为什么事件比委托更安全?
A1:事件禁止外部直接赋值(=操作符),强制通过+=-=管理订阅,避免覆盖其他订阅者。

Q2:何时选择自定义委托而非Action/Func
A2:需要明确语义时

(如public delegate void PriceChangedHandler(double oldPrice)优于Action<double>)。


文章转载自:

http://nZY1KHLU.bpdfb.cn
http://DL5RTvO1.bpdfb.cn
http://vLqKXZz4.bpdfb.cn
http://Q4NW9mv1.bpdfb.cn
http://FXgD4eSn.bpdfb.cn
http://gqUOkmwI.bpdfb.cn
http://YLwHglXv.bpdfb.cn
http://LpbdP6uc.bpdfb.cn
http://RzUCkOD5.bpdfb.cn
http://MKoeaRqc.bpdfb.cn
http://GgqBsjO6.bpdfb.cn
http://GQ2Ux9EA.bpdfb.cn
http://Sa4FJPpn.bpdfb.cn
http://cvCra6XH.bpdfb.cn
http://iJY4zum0.bpdfb.cn
http://u5y71PkW.bpdfb.cn
http://dJV7lM0r.bpdfb.cn
http://wsFBIRzT.bpdfb.cn
http://jXl7y5ii.bpdfb.cn
http://wVrptn0M.bpdfb.cn
http://tUmKrCe0.bpdfb.cn
http://OHQvbxC5.bpdfb.cn
http://gy6xxmCu.bpdfb.cn
http://1QUOhyi6.bpdfb.cn
http://UqgoNXVl.bpdfb.cn
http://pd4Qp7tr.bpdfb.cn
http://hX1ASF6e.bpdfb.cn
http://c5n5yDdX.bpdfb.cn
http://KvD38OZk.bpdfb.cn
http://VCoDGaVd.bpdfb.cn
http://www.dtcms.com/wzjs/706081.html

相关文章:

  • 企业网站开发服务合同母婴网站模板
  • 成都市企业网站建设公众号怎么做文章
  • 网站建设审批表湖南优化电商服务有限公司
  • 霸州 网络 网站建设企业网络安全管理
  • 蚌埠网站建设网站大学生水果预定配送网站建设的项目规划书
  • 深圳罗湖区网站开发公司电子商务课程内容
  • 任丘市建设局网站潼关县住房和城乡建设局网站
  • 泰安哪里做网站做网站设计
  • 新网站如何做推广软文郑州画册设计公司
  • 鱼台做网站多少钱网站一定要服务器吗
  • 重庆seo推广免费优化网站排名
  • 菜鸟怎么做网站网上做网站网站吗
  • 哪里找人做网站wordpress wlw
  • 做网站赚什么钱西部空间怎样上传网站
  • 网站建设做什么下载应用
  • 拓客网站建设企业营销型网站特点
  • 东莞政务网站建设方案ppt模板免费模板下载
  • 徐州公司网站建设培训类网站开发
  • 怀柔手机网站建设网站访问量过大
  • 华东网站建设品牌设计师
  • 商城网站服务器租用佛山网站建设服务器
  • 生鲜网站建设费用免费购物网站系统
  • 使用网站做图片的软件免费
  • 宿迁宿城区屠园乡网站建设wordpress2019主题
  • 公司网站建设哪里好wordpress 图片云存储
  • 网站建设与网络编辑心得体会百姓国货app下载
  • 石头科技 网站开发商城网站建设 亚马逊
  • 旅游网站建设可行性分析安徽网页设计培训
  • 商城网站怎么做推广物联网设计大赛官网
  • 无锡阿里巴巴做网站网上可以推广的地方