博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
清理(委托类型实例)事件处理(实例)的函数及Lambda表达式
阅读量:6251 次
发布时间:2019-06-22

本文共 1923 字,大约阅读时间需要 6 分钟。

1 namespace Microshaoft 2 { 3     using System; 4     using System.Linq; 5     using System.Drawing; 6     using System.Collections.Generic; 7     using System.Windows.Forms; 8     public class Form1 : Form 9     {10         static void Main()11         {12             Application.Run(new Form1());13         }14         //private List
> _actions = null;15 //private List
_eventHandlers = null;16 private Button button1;17 public Form1()18 {19 button1 = new Button();20 button1.Text = "button1";21 Controls.Add(button1);22 23 var actions = new List
>();24 //_actions = actions;25 var eventHandlers = new List
();26 //_eventHandlers = eventHandlers;27 //int i = 1;28 EventHandler eh;29 eh = new EventHandler30 (31 (x, y) =>32 {33 MessageBox.Show("Lambda1");34 DisposeHandlersAllProcesses(eventHandlers);35 }36 );37 eventHandlers.Add(eh);38 eventHandlers.Add(eh);39 //_actions.Add(eh);40 //_actions.Add(eh);41 eventHandlers42 //_actions43 .ForEach44 (45 (x) =>46 {47 button1.Click += eh;48 button1.Click +=49 (50 (xx, yy) =>51 {52 MessageBox.Show("Lambda2");53 DisposeHandlersAllProcesses(eventHandlers);54 }55 );56 }57 );58 button1.Click -= eh;59 eh = null;60 DisposeHandlersAllProcesses(eventHandlers);61 //(EventHandler) _action;62 //new EventHandler63 }64 //private void DisposeHandlersAllProcesses(List
handlers)65 private void DisposeHandlersAllProcesses(List
handlers)66 {67 handlers68 //_actions69 .ForEach70 (71 (x) =>72 {73 var invocations = x.GetInvocationList();74 Array.ForEach75 (76 invocations77 , (xx) =>78 {79 x -= (EventHandler)xx;80 Console.WriteLine("{0}:{1}", x, xx);81 }82 );83 x = null;84 }85 );86 }87 }88 }

 

转载于:https://www.cnblogs.com/Microshaoft/archive/2012/12/29/2839310.html

你可能感兴趣的文章
Ubuntu12.04安装及环境配置总结
查看>>
费马小定理,欧拉函数
查看>>
浮点型数据的比较
查看>>
json相关
查看>>
MpVue开发之框架的搭建
查看>>
js之放大镜效果
查看>>
Cocos2d之Node类详解之节点树(一)
查看>>
023-请你说一说你知道的自动化测试框架
查看>>
response (响应对象)
查看>>
java.lang.StringBuilder源码分析
查看>>
php中的单引号与双引号详解
查看>>
java代码继承super
查看>>
Eclipse远程调试应用程序
查看>>
openj9
查看>>
继承现有的控件
查看>>
装逼语录:
查看>>
PHP函数
查看>>
[Leetcode]414. Third Maximum Number
查看>>
UTC引发时区配置和Linux系统时间和bios时间问题
查看>>
C语言32个关键字
查看>>