C#匿名方法增加、删除委托

匿名方法给我们带来了方便,那么如何增加删除匿名方法中附加的委托(事件)呢

一般写法:

|---------|----------------------------------------------------------------------|
| 1 2 3 4 | this``.Loaded += (sender, e) => ``{ ``//Do something ``}; |

进化写法:

|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 | this``.Loaded += ``new RoutedEventHandler(FormulaAssign_Loaded); void FormulaAssign_Loaded(``object sender, RoutedEventArgs e) ``{ ``this``.Loaded -= ``new RoutedEventHandler(FormulaAssign_Loaded); ``//do something ``} |

优化写法:

|---------|--------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 | RoutedEventHandler eventHander = ``null``; eventHander = (``object sender, RoutedEventArgs e) => { ``//do something |

|-------|-------------------------------------------------------------------------|
| 1 2 3 | ``this``.Loaded -= eventHander; }; this``.Loaded += eventHander; |

相关推荐
你怎么知道我是队长4 小时前
C语言---头文件
c语言·开发语言
期待のcode4 小时前
Java虚拟机的运行模式
java·开发语言·jvm
我是唐青枫4 小时前
C#.NET ConcurrentDictionary<TKey, TValue> 深度解析:原理与实践
c#·.net
hqwest4 小时前
码上通QT实战25--报警页面01-报警布局设计
开发语言·qt·qwidget·ui设计·qt布局控件
a程序小傲4 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
HellowAmy4 小时前
我的C++规范 - 玩一个小游戏
开发语言·c++·代码规范
徐先生 @_@|||5 小时前
Palantir Foundry 五层架构模型详解
开发语言·python·深度学习·算法·机器学习·架构
tang777896 小时前
爬虫如何绕过绕过“5秒盾”Cloudflare:从浏览器指纹模拟到Rust求解之不完全指南
开发语言·爬虫·rust·cloudflare
Yuer20256 小时前
什么是 Rust 语境下的“量化算子”——一个工程对象的最小定义
开发语言·后端·rust·edca os·可控ai
hqwest6 小时前
码上通QT实战26--系统设置01-系统设置布局
开发语言·qt·qss·qt基础控件·qt布局控件·qt表格控件